您好,欢迎访问三七文档
1专业技能训练报告学院:计算机学院课程名称:网络应用开发专业技能训练专业班级:学生姓名:学号:学生姓名:学号:学生姓名:学号:指导教师:黄涛完成时间:2015年6月27日2目录1网络应用开发实验.................................................31.1问题描述...........................................................31.2需求分析...........................................................31.3概要设计...........................................................41.4流程图.............................................................41.5详细设计...........................................................51.6调试分析..........................................................201.7运行结果及分析....................................................20《网络应用开发》评分表...........................................2231网络应用开发实验1.1问题描述一个数据库中,有两个数据表。其中custom,department表如下结构。Custom与department的关系如下图所示。设计一个基于Web的应用程序,采用3层结构的方式实现对custom,department表中的记录进行:插入、修改、删除、查询的操作。使用语言:C#语言编译环境:visualstudio20131.2需求分析使用三层架构来开发系统和网站,开发人员可以只关注整个结构中的其中某一层;4可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用;结构更加的明确;在后期维护的时候,极大地降低了维护成本和维护时间。1.3概要设计三层架构(3-tierarchitecture)通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentationlayer)、业务逻辑层(BusinessLogicLayer)、数据访问层(Dataaccesslayer)。我们先设计一个model,用于传递和记录相应表的一行数据值,简化传参的过程。然后设计数据访问层(DAL),用于对数据表的数据处理;同时设计一个相应的SQLhelper类,用于对数据库的操作(增加、删除、修改、查询)进行封装。接着再设计业务逻辑层(BLL),用于操作数据访问层,解决具体业务问题,最后设计表现层,可用web页面或者winform页面,主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问1.4流程图UI页面输入相应的数据点击添加按钮点击删除按钮点击修改按钮点击查询按钮增加数据表的数据删除数据表的数据修改数据表的数据从数据表中查询数据51.5详细设计1.创建数据库,命名为CustANDDepa建立Custom表建立Department表表格示例数据6打开VS2013创建一个项目,依次创建BLL类库(业务层),DAL类库(DAL层),Model(实体数据层)类库和SQLHelper类库(数据库操作类)结果如图2.Model(数据实体模型)数据实体模式用于映射数据表或试图,该类包括custom表和department表的字段属性DepartmentModel.cs7CustomModel.cs2.SQLHelper(数据库操作类)封装了数据操作的常用方法,包括数据库对象的建立,数据连接与释放,无返回值的查询操作,单反回值的查询操作以及多返回值得查询操作。89103.DAL(数据操作层)CustomDAL.csusingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSQLHelper;usingModel;namespaceDAL{publicclassCustomDAL{///summary///数据模型转换////summary11///paramname=row/param///returns/returnsprivateCustomModelToModel(DataRowrow){CustomModelcustom=newCustomModel();custom.id=(int)row[id];custom.cname=(string)row[cname];custom.departID=(int)row[departID];custom.age=(int)row[age];custom.ename=(string)row[ename];custom.password=(string)row[password];returncustom;}///summary///验证用户////summary///paramname=custom/param///returns/returnspublicintCheckUser(CustomModelcustom){stringename=custom.ename;stringpassword=custom.password;returnConvert.ToInt32(SqlHelper.ExecuteScalar(select*fromT_Customwhereename=@enameandpassword=@password,newSqlParameter(@ename,ename),newSqlParameter(@password,password)));}///summary///获取记录数////summary///returns/returnspublicintGetRecordCounts(){returnConvert.ToInt32(SqlHelper.ExecuteScalar(selectcount(*)fromT_Custom));}///summary///查询所有的数据////summary///returns/returnspublicIEnumerableCustomModelListAll(){ListCustomModellist=newListCustomModel();DataTabledt=SqlHelper.ExecuteDataTable(select*fromT_Custom);foreach(DataRowrowindt.Rows){CustomModelcust=ToModel(row);}returnlist;}///summary///根据id获取数据*************查////summary///paramname=id/param12///returns/returnspublicCustomModelGetById(intid){DataTabledt=SqlHelper.ExecuteDataTable(select*fromT_Customwhereid=@id,newSqlParameter(@id,id));if(dt.Rows.Count=0){returnnull;}else{returnToModel(dt.Rows[0]);}}///summary///根据departid查询记录////summary///paramname=departId/param///returns/returnspublicDataTableGetByValueDepartId(intdepartId){returnSqlHelper.ExecuteDataTable(select*fromT_CustomwheredepartID=@departId,newSqlParameter(@departId,departId));}///summary///根据id获取数据集合用于Gridview控件的数据绑定////summary///paramname=id/param///returns/returnspublicDataTableGetByValueId(intid){returnSqlHelper.ExecuteDataTable(select*fromT_Customwhereid=@id,newSqlParameter(@id,id));}///summary///根据姓名查询记录////summary///paramname=name/param///returns/returnspublicDataTableGetByName(stringname){returnSqlHelper.ExecuteDataTable(select*fromT_Customwherecname=@name,newSqlParameter(@name,name));}///summary///根据年龄查询记录////summary///paramname=age/param///returns/returnspublicDataTableGetByage(intage){returnSqlHelper.ExecuteDataTable(select*fromT_Customwhereage=@age,newSqlParameter(@age,age));}///summary///更新一条记录************改13////summary///paramname=custom/parampublicvoidUpdate(CustomModelcustom){SqlHelper.ExecuteNonQuery(update[T_Custom]setcname=@cname,departID=@departID,age=@age,ename=@ename,password=@passwordwhereid=@id,newSqlParameter(@cname,custom.cname),newSqlParameter(@departID,custom.departID),newSqlParameter(@age,custom.age),newSqlParameter(@ename,custom.ename),newSqlParameter(@password,custom.password),newSqlParameter(@id,custom.id));}///summary///插入一条记录*************增////summary///paramname=custom/parampublicvoidInsert(CustomModelcustom){SqlHelper.ExecuteNonQuery(@INSERTINTO[T_Custom]([id],[cname],[departID],[age],[ename],[password])VALUES(@id,@cname,@departID,@age,@ename,@p
本文标题:3层结构实验报告
链接地址:https://www.777doc.com/doc-6342316 .html