日期:2014-05-16  浏览次数:20578 次

在.NET框架下开发三层结构数据库应用系统
ch01
1,》三层是指表示层、业务逻辑层、数据访问层

>表示层:用于显示数据和接受用户输入的数据。(一般为window应用程序或web应用程序)

>业务逻辑层:时表示层和数据访问层之间的桥梁,主要负责数据的传递和处理。(类库)--xxBLL

>数据访问层:实现对数据的保存和读取操作。可以访问关系数据库、文本文件或XML文档等。(类库)--xxDAL

2,》依赖关系:1.表示层依赖于业务逻辑层,业务层依赖于数据访问层。
    2.表示层只允许以来业务逻辑层,不允许直接引用数据访问层。
    3.各层项目间不允许循环使用。


3,》业务逻辑层的主要职责:该层是表示层和数据访问层之间的一座桥梁,具体职责:
1.根据业务规则对数据进行处理或加工;
2.与相邻的表示层和数据访问曾经型数据交换

ch02 使用ADO.NET实现三层结构

4,》DataSetd的使用:DataSet支持在数据库断开状态下,实现对大批量数据的查询、修改,
在三层中,DateSet的构建与解析工作主要在表示层、数据访问层完成,
业务逻辑层主要对DataSet中的数据惊醒加工处、理和传递,DataSet是整个三层结构中数据传递的介质。

>在表示层中使用DataSet需要做两件事:

1.将数据展示给用户:

数据展示控件:DataGrideView(表格)、ComboBox(下拉列表)他们都有一个数据源属性(DateSource)。

一般可以直接将DataSet或DataTable绑定到DataSource属性上即可实现数据展示。

2.将用户的请求数据填充到DataSet中

首先构建一个结构与请求数据结构相同的DataTable,然后将用户请求的数据填充到DataTable中,最后将

DataTable添加到DataSet中

>在业务逻辑层使用DataSet:

1.将接收到的DataSet传到下一层

2.根据用户请却对DataSet中的数据进行处理

>在数据访问层中使用DataSet:

1.将数据库中的数据填充到DataSet中。

        当请求为查询请求时,访问层需要实现对数据的查询访问,并将响应结果填充到DataSet中

2.将DataSet中的数据保存到数据库中。

当请求为保存请求时,访问层首先对收到的DataSet进行解析,然后将解析出的数据保存到数据库中

5,》创建DataSet:

>DataSet的构建有两种方法:
1.通过DataAdapter的Fill方法将数据直接填充到DataSet中。
2.通过手动编码自定义DataTable(数据表)、DataColumn(数据列)、DataRow(数据行),然后将数据表添加到

DataSet中。

>一个DataSet由多个DateTable组成,一个DataTable由多个DateColumn和多个DataRow组成。               

       

>DataTable是内存中的一个关系数据表,可独立创建使用,也可作为DataSet的一个成员。

在创建DataTable时,可以指定DataTable的名称,如果不指定,该表会得到一个从"0"开始递增的默认表名
>DataColumn是创建DataTable的基础,通过向DataTable中添加一个或多个DataColumn对象来定义DatatTable

6,》DataColumn常用属性: 属性 说明
AllowDBNull 是否允许空值
ColumnName      DataColumn的名称
DataType 存储的数据类型
MaxLength 获取或设置文本列的最大长度
DefaultValue 默认值
Table 所属的DataTable的名称
Unique DataColumn的值是否唯一

7,》定义DataColumn的两种方法:
1:DataColumn 列名=new DataColumn();
  列名.ColumnName="数据库中列名";
  列名.DataType=System.Type.GetType("System.数据类型");
  列名.MaxLength=50;
     例如:DataColumn className=new DataColumn();
   className.ColumnName="ClassName";
   className.DataType=System.Type.GetType("System.string");
   className.MaxLength=50;

2:DataColumn 列名=new DataColumn("数据库中列名",typeof(数据类型))
  列名.MaxLength=50;
     例如:DataColumn 列名=new DataColumn("ClassName",typeof(string))
   列名.MaxLength=50;
>DataRow表示DataTable中包含的实际数据,可以通过DataRow将数据添加用DataColumn定义好DataTable中

8,》自定义DataSet主要步骤:1.创建DataSet对象 2.创建DataT对象
3.创建DataColumn对象构建表结构 4.将创建好的表结构添加到表中
5.创建DataRow对象新增数据 6.将数据插入到表中
7.将表添加到DataSet中
例如:DataSet ds=new DataSet();//创建新的DataSet
    DataTable dt=new DataTable();//创建表
    DataColumn dc1=new DataColumn("数据库中列名",typeof(string));//创建列1
    dc1.MaxLength=50;
    DataColumn dc2=new DataColumn("数据库中列名",typeof(int));//创建列2
   //将定义好的列添加到表中
    dt.Columns.Add(dc1);
    dt.Columns.Add(dc2);
   //创建数据行
  &nbs