框架下开发三层结构数据库应用系统

上传人:s9****2 文档编号:549576081 上传时间:2023-06-21 格式:DOC 页数:9 大小:75.01KB
返回 下载 相关 举报
框架下开发三层结构数据库应用系统_第1页
第1页 / 共9页
框架下开发三层结构数据库应用系统_第2页
第2页 / 共9页
框架下开发三层结构数据库应用系统_第3页
第3页 / 共9页
框架下开发三层结构数据库应用系统_第4页
第4页 / 共9页
框架下开发三层结构数据库应用系统_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《框架下开发三层结构数据库应用系统》由会员分享,可在线阅读,更多相关《框架下开发三层结构数据库应用系统(9页珍藏版)》请在金锄头文库上搜索。

1、.NET框架下开发三层结构数据库应用系统第 1 章:三层结构在企业中的应用三层:表示层:1.数据展示(显示数据)。2.接收数据。用于显示数据 和 接收用户输入的数据,为用户提供一种交互式操作界面。(一般为Windows应用程序或Web应用程序) 业务逻辑层:1.业务逻辑处理。2.数据传递。 是表层和数据访问层之间通信的桥梁,主要负责 数据的传递和处理。(1.规则对数据进行加工和处理。2.与相邻的表示层和数据库访问层进行数据交换。) 数据访问层:主要实现对数据的保存和读取操作。 数据访问,可以访问关系数据库、本文件或是XML文档等。数据访问层通常为类库。二层结构的局限性:1. 难以适应需求变化。

2、 2. 不易维护。 3. 安全性低。三层之间的依赖关系:表示层 依赖 业务逻辑层。业务逻辑层 依赖 数据访问层。 表示层只允许引用业务逻辑层,不允许直接引用数据访问层。 各层项目间不允许循环引用。1. 接收用户的请求,根据用户的请求去通知业务逻辑层;业务逻辑层收到请求,首先对请求进行阅读审核,然后将请求通知数据库访问层或直接返回给表示层;数据访问层收到请求后便开始访问数据库。2. 数据访问层通过对数据库的访问得到请求的结果,并把请求结果通知业务逻辑层;业务逻辑层收到请求结果,首先对请求结果进行阅读审核,然后将请求结果通知表示层;表示层收到请求结果,并将结果展示给用户。搭建三层结构基本框架的步骤

3、:1. 搭建表示层。 2. 搭建业务逻辑层。 3. 搭建数据访问层。 4. 添加各层之间的相互依赖。第 2 章: 用ADO.NET实现三层结构DataSet:在内存中存在的临时数据库。(表的集合(列,行,约束)以及表之间的关系的集合)DataSet的主要作用:三层之间数据传递的载体。在三层结构中,DataSet的构建与解析工作主要在表示层、数据访问层,业务逻辑层主要对DataSet中的数据进行加工、处理和传递。(DataSet是整个三层结构中数据传递的介质)。1、表示层 使用DataSet需要做的两件事:(1)将DataSet中的数据展示给用户。一般我们可以直接将DataSet或DataTab

4、le绑定到DataSource属性上就可以实现数据展示。(2)、将用户的请求数据填充到DataSet中。2、业务逻辑层 使用DataSet需要做的两件事:(1)、将接收到的DataSet传递到下一层。当业务逻辑层收到数据访问层返回的DataSet 后接着将DataSet 传递给表示层,或者是 将表示层请求的DataSet传递给数据访问层。(2)、根据用户请求对DataSet中的数据进行处理。当业务逻辑层收到请求或响应的DataSet后,根据用户的请求(例如:条件筛选数据)或业务规则会对DataSet中的数据进行处理。3、数据访问层 使用DataSet需要做的两件事:(1)、将数据库中的数据填充

5、到DataSet中。当用户的请求是查询请求时,数据访问层需要实现对数据库的查询访问,并将响应结果填充到DataSet中。(2)、将DataSet中的数据保存到数据库中。当用户的请求是数据保存时,数据访问层首先对收到的DataSet 进行解析,然后将解析出的数据保存到数据库中。每层中基本上包括了:1.创建DataSet 。 2.填充数据。 3.传递DataSet。 4.从DataSet中提取数据。数据访问层主要使用的类:1. SqlConnection类:实现数据库连接。 2. SqlCommand类:执行SQL命令。 3. SqlDataReader类:读取数据。 4. SqlDataAdap

6、ter类:执行SQL命令,返回DataSet。 5. DataSet类:封装用户请求数据。DataSet的构建有两种方法:1. 通过DataAdapter(数据适配器)的Fill 方法将数据直接填充到DataSet 中。2. 通过手动编码自定义DataTable(数据表)、DataColumn(数据列)、DataRow(数据行),然后将数据表添加到DataSet中。一个DataSet是由多个DataTable组成,而一个DataTable又是由多个DataColumn和多个DataRow组成 。(1)、DataTable(数据表):是内存中的一个关系数据表,可以独立创建使用,也可以作为Data

7、Set的一个成员使用。(指定表名时一定要避免表名重复)。(2)、DataColumn(数据列):是创建DataTable 的基础,我们通过向DataTable中添加一个或多个DataColumn对象来定义DataTable的结构。DataColumn的常用属性:属 性说 明AllowDBNull是否允许空值ColumnNameDataColumn的名称DataType存储的数据类型MaxLength获取或设置文本列的最大长度DefaultValue默认值Table所属的DataTable的名称UniqueDataColumn的值是否唯一定义DataColumn有三种方法:1. object o

8、bj = new object();obj.GetType缺点:必须实例化对象,才能获得。2. (“字段名”,typeof(string));3. Type.GetType(”System.String”);最为灵活(反射:动态获取不同类型的信息)。(3)、DataRow(数据行)DataRow表示DataTable中包含的实际数据,我们可以通过DataRow将数据添加到用DataColumn定义好的DataTable中。自定义DataSet的主要步骤:1.创建DataSet对象。 2.创建DataTable对象。 3.创建DataColumn对象构建表结构。 4.将创建好的表结构添加到表中。

9、 5.创建DataRow对象新增数据。 6.将数据插入到表中。 7.将表添加到DataSet中。从DataSet中获取数据有两种方法:1、通过指定的DataSet中的具体DataTable的某行某列来获取数据。 (1)通过表名,从DataSet中获取指定的DataTable。 (2)通过索引,从DataTable中获取指定的DataRow。 (3)通过列名,从DataRow中获取指定列的数据。2、将DataSet中的数据直接绑定到数据展示控件上。DataView:为我们提供DataTable的动态视图,并可以对动态生成的视图中的数据进行排序筛选等操作。一个DataSet中可以有多个DataTa

10、ble,一个DataTable可以动态生成多个DataView。(DataSet中包含DataTable,DataTable中包含DataView)DataView的常用属性:属 性说 明Table用于获取或设置源DataTable。Sort获取或设置DataView的一个或多个排序列以及排序顺序。RowFilter获取或设置用于筛选在DataView中查看哪些行的表达式。Count在应用RowFilter后,获取DataView中的行数。用ADO.NET执行带参数的SQL命令时,我们需要使用参数(Parameters)集合的Add方法为SQL命令添加参数,包括参数名称、参数类型。业务逻辑层实

11、现数据传递、处理时,首先引用数据访问层,其次实例化数据访问对象,最后调用数据访问层功能,并实现数据处理。第 3 章: 用OOP实现三层结构使用DataSet开发三层结构有哪些局限性:(1) DataSet不具备良好的面向对象(OO)特性,使用起来不够直观、方便。(2) 对DataSet中的数据进行查找时容易出错。(3) 由于DataSet的核心结构与数据库的核心结构完全相同,所以它把数据结构完全暴露在表示层和业务逻辑层。使用实体类的主要好处有一个简单的事实,即实体类是完全受我们控制的对象,它具有面向对象的基本特征。其实和DataSet一样,业务实体也承载着一个数据载体的任务。实体类是业务对象的

12、基础,它用面向对象的思考为我们消除了关系数据库与对象之间的差异。实体类:描述一个业务实体的”类”(整个应用系统业务所涉及的对象)。业务实体 可以认为属于 业务逻辑层。也可以将业务实体单独作为一层称为 业务实体层。表示层、业务逻辑层、数据访问层都依赖于业务实体,各层之间数据的传递主要是实体对象(业务信息封装在实体对象中)。在 表示层 使用实体类需要做的两件事:1. 将解析实体对象中封装的数据展示给用户。当表示层接收到从业务逻辑层返回的实体对象,并将实体对象中封装的信息展示给用户时,表示层需要对实体对象中封装的信息进行解析。表示层对实体对象的解析分为两种:(1) 对单个实体对象进行解析:每个实体对

13、象中封装的数据对应数据表中的一条记录。(2)对实体对象集合进行解析:将多个实体对象封装到List中称为 实体对象集合。2. 将用户请求的数据封装到实体对象中。 在表示层,我们如何将用户的请求的数据封装到实体对象中,我们首先需要实例化实体对象,然后将用户的请求数据赋值给实体对象中的对应的属性。业务逻辑层 实体类的使用不同于表示层,它主要负责传递实体对象,并对实体对象中封装的数据进行处理。它同样需要做两件事:1. 将接收到的实体对象传递给下一层。 当业务逻辑层接收到装有信息的业务实体对象后,根据请求或响应将实体对象传到下一层。2. 根据用户的请求对实体对象中的数据进行处理。 (1)一方面来自业务实体对数据的处理,实体类本身是由属性组成的,而大多都是可读写属性。所以根据请求的不同可以给属性设置不同的值。 (2)另一方面来自业务逻辑对数据的处理。在数据访问层使用实体类需要做两件事:1. 将数据库中的数据封装到实体对象中或将多个实体对象封装成集合。 当用户的请求数据是数据查询请求时,数据访问层需要实现对数据库的查询访问。 当请求的结果只有一条记录时,我们将这条记录封装成一个实体对象。 当请求的结果是多条记录时,我们将每条记录封装成一个实体对象,然

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 汽车技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号