*三层实现
自定义DataSet
1、 创建DataSet对象
DataSet dsClass = new DataSet();
2、创建DataTable对象
DataTable dtClass = new DataTable(“表名”);
3、创建DataColumn对象 (任意个)
DataColumn className = new DataColumn("ClassName",typeof(string));
4、列数据插入到表中.
DataTable对象.Columns.Add(DataColumn对象);
5、创建DataRow对象新增数据(任意个)
DataRow drClass = dtClass.NewRow();
drClass["className"] = this.txtClassName.Text.Trim(); drClass["gradeID"]
= objGrade.GetGradeIDByGradeName(this.cboGrade.Text.Trim());
6、行数据插入到表中
DataTable对象.Rows.Add(DataRow对象);
7、将表DataTable添加到DataSet中
DataSet对象.Tables.Add(DataTable对象)
DataColumn对象
属性 |
说明 |
AllowDBNull |
是否允许空值 |
ColumnName |
DataColumn 的名称 |
DataType |
存储的数据类型 |
MaxLength |
获取或设置文本数据列的最大长度 |
DefaultValue |
默认值 |
Table |
所属的 DataTable 的名称 |
Unique |
DataColumn 的值是否唯一 |
Exp:
//创建一个新的空班级DataSet
DataSet dsClass = new DataSet();
//创建班级表
DataTable dtClass = new DataTable("Class");
//创建班级名称列
DataColumn className = new DataColumn("ClassName",typeof(string));
className.MaxLength = 50;
//创建年级ID列
DataColumn gradeID = new DataColumn("GradeID",typeof(int));
//将定义好的列添加到班级表中
dtClass.Columns.Add(className);
dtClass.Columns.Add(gradeID);
//创建一个新的数据行
DataRow drClass = dtClass.NewRow();
drClass["className"] = this.txtClassName.Text.Trim();
drClass["gradeID"]
= objGrade.GetGradeIDByGradeName(this.cboGrade.Text.Trim());
//将新的数据行插入班级表中
dtClass.Rows.Add(drClass);
//将班级表添加到DataSet中
dsClass.Tables.Add(dtClass);
DataView对象 提供基础 DataTable 中数据的动态视图
属性名称 |
说明 |
Table |
用于获取或设置源DataTable |
Sort |
获取或设置 DataView 的一个或多个排序列以及排序顺序 |
RowFilter |
获取或设置用于筛选在 DataView 中查看哪些行的表达式 |
Count |
在应用RowFilter后,获取DataView中的行数 |
实现数据访问层
1、实例化SqlConnection对象,实现数据库连接
2、实例化SqlCommand对象,执行SQL命令
3、实例化SqlDataReader对象,读取数据
4、实例化SqlDataAdapter对象,执行SQL命令、返回DataSet
5、解析DataSet获取数据
实现业务逻辑层
1、在业务逻辑处理类中引用数据访问层命名空间
2、实例化数据访问对象
3、调用数据访问层方法
4、实现业务逻辑功能
5、传递DataSet,并对DataSet中的数据进行处理
实现表示层数据绑定
1、在窗体后台实现类中引用业务逻辑层命名空间
2、实例化业务逻辑处理对象
3、调用业务逻辑处理方法
4、构建DataSet
5、实现数据绑定