




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z.NET框架下开发三层构造数据库应用系统第 1 章:三层构造在企业中的应用三层:表示层:1.数据展示(显示数据)。2.接收数据。用于显示数据 和 接收用户输入的数据,为用户提供一种交互式操作界面。(一般为Windows应用程序或Web应用程序)业务逻辑层:1.业务逻辑处理。2.数据传递。是表层和数据层之间通信的桥梁,主要负责 数据的传递和处理。(1.规则对数据进展加工和处理。2.与相邻的表示层和数据库层进展数据交换。)数据层:主要实现对数据的保存和读取操作。 数据,可以关系数据库、本文件或是*ML文档等。数据层通常为类库。二层构造的局限性:1. 难以适应需求变化。 2. 不易维护。 3
2、.平安性低。三层之间的依赖关系:表示层依赖业务逻辑层。业务逻辑层 依赖 数据层。表示层只允许引用业务逻辑层,不允许直接引用数据层。 各层工程间不允许循环引用。1.接收用户的请求,根据用户的请求去通知业务逻辑层;业务逻辑层收到请求,首先对请求进展阅读审核,然后将请求通知数据库层或直接返回给表示层;数据层收到请求后便开场数据库。2. 数据层通过对数据库的得到请求的结果,并把请求结果通知业务逻辑层;业务逻辑层收到请求结果,首先对请求结果进展阅读审核,然后将请求结果通知表示层;表示层收到请求结果,并将结果展示给用户。搭建三层构造根本框架的步骤:1.搭建表示层。 2.搭建业务逻辑层。 3. 搭建数据层。
3、 4. 添加各层之间的相互依赖。第 2 章:用ADO.NET实现三层构造DataSet:在存中存在的临时数据库。表的集合列,行,约束以及表之间的关系的集合DataSet的主要作用:三层之间数据传递的载体。在三层构造中,DataSet的构建与解析工作主要在表示层、数据层,业务逻辑层主要对DataSet中的数据进展加工、处理和传递。DataSet是整个三层构造中数据传递的介质。1、表示层 使用DataSet需要做的两件事:(1)将DataSet中的数据展示给用户。一般我们可以直接将DataSet或DataTable绑定到DataSource属性上就可以实现数据展示。(2)、将用户的请求数据填充到D
4、ataSet中。2、业务逻辑层 使用DataSet需要做的两件事:(1)、将接收到的DataSet传递到下一层。当业务逻辑层收到数据层返回的DataSet 后接着将DataSet 传递给表示层,或者是 将表示层请求的DataSet传递给数据层。(2)、根据用户请求对DataSet中的数据进展处理。当业务逻辑层收到请求或响应的DataSet后,根据用户的请求例如:条件筛选数据或业务规则会对DataSet中的数据进展处理。3、数据层使用DataSet需要做的两件事:(1)、将数据库中的数据填充到DataSet中。当用户的请查询请求时,数据层需要实现对数据库的查询,并将响应结果填充到DataSet中
5、。(2)、将DataSet中的数据保存到数据库中。当用户的请数据保存时,数据层首先对收到的DataSet 进展解析,然后将解析出的数据保存到数据库中。每层中根本上包括了:1.创立DataSet 。 2.填充数据。 3.传递DataSet。 4.从DataSet中提取数据。数据层主要使用的类:1.SqlConnection类:实现数据库连接。 2. Sqlmand类:执行SQL命令。 3. SqlDataReader类:读取数据。4. SqlDataAdapter类:执行SQL命令,返回DataSet。5. DataSet类:封装用户请求数据。DataSet的构建有两种方法:通过DataAdap
6、ter数据适配器的Fill 方法将数据直接填充到DataSet 中。通过手动编码自定义DataTable数据表、DataColumn数据列、DataRow数据行,然后将数据表添加到DataSet中。一个DataSet是由多个DataTable组成,而一个DataTable又是由多个DataColumn和多个DataRow组成 。1、DataTable数据表:是存中的一个关系数据表,可以独立创立使用,也可以作为DataSet的一个成员使用。指定表名时一定要防止表名重复。2、DataColumn数据列:是创立DataTable的根底,我们通过向DataTable中添加一个或多个DataColumn
7、对象来定义DataTable的构造。DataColumn的常用属性:属 性说 明AllowDBNull是否允许空值ColumnNameDataColumn的名称DataType存储的数据类型Ma*Length获取或设置文本列的最大长度DefaultValue默认值Table所属的DataTable的名称UniqueDataColumn的值是否唯一定义DataColumn有三种方法:1.object obj = new object;obj.GetType缺点:必须实例化对象,才能获得。2. (字段名,typeofstring);3. Type.GetTypeSystem.String;最为灵活
8、反射:动态获取不同类型的信息。3、DataRow数据行DataRow表示DataTable中包含的实际数据,我们可以通过DataRow将数据添加到用DataColumn定义好的DataTable中。自定义DataSet的主要步骤:1.创立DataSet对象。 2.创立DataTable对象。 3.创立DataColumn对象构建表构造。 4.将创立好的表构造添加到表中。 5.创立DataRow对象新增数据。 6.将数据插入到表中。 7.将表添加到DataSet中。从DataSet中获取数据有两种方法:1、通过指定的DataSet中的具体DataTable的*行*列来获取数据。 1通过表名,从D
9、ataSet中获取指定的DataTable。 2通过索引,从DataTable中获取指定的DataRow。 3通过列名,从DataRow中获取指定列的数据。2、将DataSet中的数据直接绑定到数据展示控件上。DataView:为我们提供DataTable的动态视图,并可以对动态生成的视图中的数据进展排序筛选等操作。一个DataSet中可以有多个DataTable,一个DataTable可以动态生成多个DataView。DataSet中包含DataTable,DataTable中包含DataViewDataView的常用属性:属 性说 明Table用于获取或设置源DataTable。Sort获
10、取或设置DataView的一个或多个排序列以及排序顺序。RowFilter获取或设置用于筛选在DataView中查看哪些行的表达式。Count在应用RowFilter后,获取DataView中的行数。用ADO.NET执行带参数的SQL命令时,我们需要使用参数Parameters集合的Add方法为SQL命令添加参数,包括参数名称、参数类型。业务逻辑层实现数据传递、处理时,首先引用数据层,其次实例化数据对象,最后调用数据层功能,并实现数据处理。第 3 章: 用OOP实现三层构造使用DataSet开发三层构造有哪些局限性:DataSet不具备良好的面向对象OO特性,使用起来不够直观、方便。对Data
11、Set中的数据进展查找时容易出错。由于DataSet的核心构造与数据库的核心构造完全一样,所以它把数据构造完全暴露在表示层和业务逻辑层。使用实体类的主要好处有一个简单的事实,即实体类是完全受我们控制的对象,它具有面向对象的根本特征。其实和DataSet一样,业务实体也承载着一个数据载体的任务。实体类是业务对象的根底,它用面向对象的思考为我们消除了关系数据库与对象之间的差异。实体类:描述一个业务实体的类整个应用系统业务所涉及的对象。业务实体 可以认为属于 业务逻辑层。也可以将业务实体单独作为一层称为 业务实体层。表示层、业务逻辑层、数据层都依赖于业务实体,各层之间数据的传递主要是实体对象业务信息
12、封装在实体对象中。在表示层使用实体类需要做的两件事:1. 将解析实体对象中封装的数据展示给用户。当表示层接收到从业务逻辑层返回的实体对象,并将实体对象中封装的信息展示给用户时,表示层需要对实体对象中封装的信息进展解析。表示层对实体对象的解析分为两种:1 对单个实体对象进展解析:每个实体对象中封装的数据对应数据表中的一条记录。2对实体对象集合进展解析:将多个实体对象封装到List中称为实体对象集合。2. 将用户请求的数据封装到实体对象中。在表示层,我们如何将用户的请求的数据封装到实体对象中,我们首先需要实例化实体对象,然后将用户的请求数据赋值给实体对象中的对应的属性。业务逻辑层实体类的使用不同于
13、表示层,它主要负责传递实体对象,并对实体对象中封装的数据进展处理。它同样需要做两件事:1. 将接收到的实体对象传递给下一层。当业务逻辑层接收到装有信息的业务实体对象后,根据请求或响应将实体对象传到下一层。2. 根据用户的请求对实体对象中的数据进展处理。 1一方面来自业务实体对数据的处理,实体类本身是由属性组成的,而大多都是可读写属性。所以根据请求的不同可以给属性设置不同的值。 2另一方面来自业务逻辑对数据的处理。在数据层使用实体类需要做两件事:1. 将数据库中的数据封装到实体对象中或将多个实体对象封装成集合。当用户的请求数据是数据查询请求时,数据层需要实现对数据库的查询。 当请求的结果只有一条
14、记录时,我们将这条记录封装成一个实体对象。 当请求的结果是多条记录时,我们将每条记录封装成一个实体对象,然后再将多个实体对象封装成集合将多个实体对象封装到List中。2. 将实体对象中的数据保存到数据库中。当用户的请数据保存请求时,数据层首先对实体类中封装的数据进展分析,然后将解析出的数据保存到数据库中。使用实体类的好处:为我们整个工程的开发提供了很大的灵活性。它把数据库中的表用面向对象的思想抽象成类,使数据作为对象来使用,消除了关系数库与类之间的差异,在三层构造开发中使用实体类更有助于工程的维护、扩展、更表达三层构造开发的优势。(在数据库中添加一个字段时,只需在实体层中添加一个字段,封装,再
15、修改SQL语句)根据数据表编写实体类时,需注意的:表中的每个字段,对应实体类中的一个protected类型的字段和一个public类型的属性。表中字段的类型要与属性的类型相匹配。数据库中的varchar、nvarchar类型对应C*中的String类型3. 在我们编写好的实体类前面一般要加上序列化属性Serializable,它对实体类中的所有字段、属性进展序列化处理。 序列化的主要目的:为了提高数据传输中的性能与平安性。Using关键字在C*中的用途:作为指令,引用命名空间。作为语句,用于定义一个围,在此围末自动释放对象。UsingSqlConnection conn = new SqlCo
16、nnection常用数据方法命名规:方 法说 明Public int AddSutdentStudent student学员账户创立public void DeleteStudentByLoginId (string loginID) 根据学员账户ID删除学员信息Public void ModifyStudent (Student student) 更新学员信息方法Public IListGetAllStudents() 得到所有学员信息集合Public Student GetStudentByLoginIDstring loginID根据登录ID得到学员信息配置文件放在表示层,被数据层引用。第 4 章: 异常处理与单元测试异常是程序在执行时发生的错误,导致这种错误的原因有三个方面:代码错误,包括语法错误、逻辑错误,这是由开发人员造成的。资源不可用,这是由系统了未经授权的资源而引起的错误。公共语言运行库,这是由CLR部引起的错误。E*ception 类:为我们提供了大量的捕获、处理异常的方法。 E*ception 类是所有异常的基类。E*ception 类中封装的异常处理由两种:由用户程序执行引发的异常,派生于ApplicationE*ception类。由公共语言运行库引发的异常,派生于SystemE*ception类。常见异常类型:E*ception类说 明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-河南-河南理疗技术员一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南有线广播电视机务员五级(初级工)历年参考题库典型考点含答案解析
- 2024版机械加工承包合同范本
- 2025年事业单位工勤技能-河北-河北家禽饲养员四级(中级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-河北-河北兽医防治员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-江西-江西园林绿化工二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西经济岗位工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西管工(技师/高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西检验员一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西客房服务员三级(高级工)历年参考题库典型考点含答案解析
- 溺水患者急救培训
- 2026版步步高大一轮高考数学复习讲义第十章 §10.1 计数原理与排列组合含答案
- 人力公司营销策划方案
- 医院医疗用房管理制度
- 股权代持协议终止协议书
- 捡土豆装车合同协议书
- 国际压力性损伤溃疡预防和治疗临床指南(2025年版)解读
- 海天对客户分级管理
- 薪资抵扣协议书模板
- 血管内导管相关性血流感染预防与诊治指南(2025)解读课件
- 人力资源培训:招聘与面试技巧
评论
0/150
提交评论