word专业技能训练报告学 院:计算机学院 课程名称: 网络应用开发专业技能训练 专业班级:学生某某: 学号:学生某某: 学号:学生某某: 学号:指导教师:黄涛完成时间:2015年6月27日目 录1网络应用开发实验3问题描述3需求分析3概要设计4流程图4详细设计5调试分析22运行结果与分析23《网络应用开发》评分表26 / 1网络应用开发实验一个数据库中,有两个数据表其中custom,department表如下结构Custom与department的关系如如下图所示设计一个基于Web的应用程序,采用3层结构的方式实现对custom,department表中的记录进展:插入、修改、删除、查询的操作使用语言:C#语言编译环境:visual studio 2013使用三层架构来开发系统和,开发人员可以只关注整个结构中的其中某一层;可以很容易的用新的实现来替换原有层次的实现;可以降低层与层之间的依赖;有利于标准化;利于各层逻辑的复用;结构更加的明确;在后期维护的时候,极大地降低了维护本钱和维护时间三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层〔Presentation layer〕、业务逻辑层〔Business Logic Layer〕、数据访问层〔Data access layer〕。
我们先设计一个model,用于传递和记录相应表的一行数据值,简化传参的过程然后设计数据访问层〔DAL〕,用于对数据表的数据处理;同时设计一个相应的SQLhelper类,用于对数据库的操作〔增加、删除、修改、查询〕进展封装接着再设计业务逻辑层〔BLL〕,用于操作数据访问层,解决具体业务问题,最后设计表现层,可用web页面或者winform页面,主要对用户的请求承受,以与数据的返回,为客户端提供给用程序的访问UI页面输入相应的数据点击添加按钮点击删除按钮点击修改按钮点击查询按钮增加数据表的数据删除数据表的数据修改数据表的数据从数据表中查询数据1.5详细设计1. 创建数据库,命名为CustANDDepa建立Custom表建立Department表表格示例数据 打开VS2013创建一个项目,依次创建BLL类库〔业务层〕,DAL类库〔DAL层〕,Model〔实体数据层〕类库和SQLHelper类库(数据库操作类)结果如图2. Model(数据实体模型)数据实体模式用于映射数据表或试图,该类包括custom表和department表的字段属性2.SQLHelper〔数据库操作类〕封装了数据操作的常用方法,包括数据库对象的建立,数据连接与释放,无返回值的查询操作,单反回值的查询操作以与多返回值得查询操作。
3. DAL(数据操作层)usingSystem;usingS;using ;using ;using System.Linq;using System.Text;using System.Threading.Tasks;usingSQLHelper;usingModel;namespaceDAL{publicclassCustomDAL {//////数据模型转换/////////privateCustomModelToModel(DataRowrow) {CustomModelcustom=newCustomModel();= (int)row["id"];= (string)row["ame"];= (int)row["departID"];= (int)row["age"];= (string)row["ename"];= (string)row["password"];returncustom; }//////验证用户/////////publicintCheckUser(CustomModelcustom) {stringename= ;stringpassword= ;returnConvert.ToInt32(SqlHelper.ExecuteScalar("select * from T_Custom where ename=ename and password=password",newSqlParameter("ename", ename),newSqlParameter("password", password))); }//////获取记录数//////publicintGetRecordCounts() {returnConvert.ToInt32(SqlHelper.ExecuteScalar("select count(*) from T_Custom")); }//////查询所有的数据//////publicIEnumerableListAll() {Listlist=newList();DataTabledt=SqlHelper.ExecuteDataTable("select * from T_Custom");foreach (DataRowrowin ) {CustomModelcust=ToModel(row); }returnlist; }//////根据id获取数据*************查/////////publicCustomModelGetById(intid) {DataTabledt=SqlHelper.ExecuteDataTable("select * from T_Custom where id=id",newSqlParameter("id", id));if ( <=0) {returnnull; }else {returnToModel([0]); } }//////根据departid查询记录/////////publicDataTableGetByValueDepartId(intdepartId) {returnSqlHelper.ExecuteDataTable("select * from T_Custom where departID=departId",newSqlParameter("departId", departId)); }//////根据id获取数据集合用于Gridview控件的数据绑定/////////publicDataTableGetByValueId(intid) {returnSqlHelper.ExecuteDataTable("select * from T_Custom where id=id",newSqlParameter("id", id)); }//////根据某某查询记录/////////publicDataTableGetByName(stringname) {returnSqlHelper.ExecuteDataTable("select * from T_Custom where ame=name",newSqlParameter("name", name)); }//////根据年龄查询记录/////////publicDataTableGetByage(intage) {returnSqlHelper.ExecuteDataTable("select * from T_Custom where age=age",newSqlParameter("age", age)); }//////更新一条记录************改//////publicvoidUpdate(CustomModelcustom) {SqlHelper.ExecuteNonQuery("update [T_Custom] set ame=ame,departID=departID,age=age,ename=ename,password=password where id=id" , newSqlParameter("ame", ) , newSqlParameter("departID", ) , newSqlParameter("age", ) , newSqlParameter("ename", ) , newSqlParameter("password", ) , newSqlParameter("id", )); }//////插入一条记录*************增//////p。