第十五讲 数据集的使用方法和技巧
*摘要
。数据集概述
。创建数据集和数据表
。数据操作
。数据集内的筛选与排序
。数据集实用技巧
1、数据集概述
1.1数据集
。是一种代表关系数据的内存驻留结构
。是以XML形式表示的数据视图,是一种数据关系视图
。在Visual Studio和.NET Framework中,XML是存储和传输各种数据时所用的格式。因此,数据集与XML有密切关系。
1.2数据集分类
-类型化数据集
-非类型化数据集
1.3类型化数据集和非类型化数据集的区别
类型化数据集
A、结构体系
类型化数据集这样一种数据集,它先从基DataSet类派生,然后使用XML架构文件(.xsd文件)中的信息生成新类。架构中的信息(表,列
等)被作为一组第一类对象和属性生成并编译为此新数据集类。
B、功能
可以直接通过名称引用表和列
C、类型检测
在VS.NET中可以智能感知元素的类型
非类型化数据集
A、结构体系
非类型化数据集没有相应的内置架构。与类型化数据集一样,非类型化数据集也包含表,列等,但它们只作为集合公开。
B、功能
需要通过Tables集合引用列
C、不能感知
1.4数据集的构成
DataTableCollection
DataTable(Cloumns-DataColumn,Rows-DataRow,Constraints-Constraint)
DataRelationCollection
DataRelation
1.5数据集的属性
重点:
-Tables
-Relations
2、创建数据集和数据表
2.1创建数据集:
-设计时创建非类型化数据集
。工具箱“数据”
-运行时创建非类型化数据集
2.2创建数据表
。数据表属性
-最重要的集合:
。Columns
。Rows
。Constraints
。给数据集添加数据表
2.3为数据表添加列
。Columns集合属性
。为数据表添加列
2.4为数据集添加关系
。Relations:定义数据表之间的关系,该集合中可以包含0个或者多个数据关系对象,每个对象表示两个表之间的关系。
。只有数据集的EnforeConstraints属性设置为True时,DataRelation中建立的约束才会被强制执行。
。为数据表添加数据关系(非类型数据集)
2.5为数据表添加行
。Rows属性
。Rows.Add方法
-Add(DataRow):向数据表中添加指定的数据行
。为数据表添加行
*显示行状态
。数据行的RowState属性反映了自数据表创建以来或者上次更新后在数据表上采取的操作
。DataRowState的取值
。显示状态行
2.6为数据表添加约束
。ForeignKeyConstraints属性:保证两个数据表之间对应行改变时的关系。
。UniqueConstraints属性:保证某列数据在每行都不相同。
。在运行时为数据表添加约束
-添加外键约束:修改一个表的值看是否变化
-添加唯一键约束
3、数据操作
3.1数据集方法
-克隆数据集:只复制结构
-复制数据集:复制结构和数据
3.2数据表方法
-Select方法:用于在运行时过滤数据表的行并进行排序。它不对表的内容作改动。该方法只是返回与指定的规则相匹配的行数组
4、数据集内的筛选与排序
在填充数据集之后,通常会发现使用表中的不同记录子集或以不同顺序查看数据很有用。可以通过对数据集内的数据进行筛选和排序来实
现这一点。若要简化此过程,可以创建数据视图,数据视图提供可合并筛选器和排序条件的对象,可用作数据绑定的源。
*数据集内的筛选与排序
可以用内置的数据集功能来筛选和排序。有两个选择:
。数据表支持Select方法,您可调用该方法来筛选和排序。该方法并不更改表中的记录的内容和顺序,相反,它向您提供一个记录列表(
或数组)表示所指定的条件。
。可以使用数据视图(DataView对象)。数据视图是一个对象,它作为数据表之上的层,提供经过筛选和排序后的表内容视图。(还可以
使用数据视图管理器,它的行为像数据视图集合。)数据视图类似于数据库中的视图,因为它不是数据的副本。相反,它只是查看表中数
据的另一种方式。
4.1数据视图概述
。数据视图是位于数据表之上的独立对象
。数据视图是对单一数据进行过滤和排序后的视图
。可以用作绑定控件的数据源
。可以为一个数据表创建多个数据视图
。视图数据行实际引用了数据行的DataRowView对象(用于添加视图行)
*DataRowView的属性
属性 描述
DataView:该数据行视图所属的数据视图
IsEdit:表示该数据行视图是否正在被编辑
IsNew:表示该数据行视图是否为新建
Item:该数据行视图中某列的值
Row:正在被查看的数据行
RowVersion:该数据行视图的当前版本
4.2创建数据视图
。在设计时创建
-创建类型化数据集
-从工具箱“数据”中选择“DataView”控件
。可以使用表的DafaultView属性来访问该默认数据视图,该数据视图返回一个DataView对象。可在运行时设置默认数据视图的属性。
4.3数据视图的属性
。数据视图属性
-RowFilter
-RowStateFilter
-Sort
。使用表的Select方法或数据视图的RowFilter属性,可以筛选数据表中的记录以便仅想操作的记录可用。这在要操作数据集表中记录的
不同子集时很有用。若要指定筛选器条件,可以使用与创建列表达式所用语法相同的表达式语法。
*数据列表达式
。是一个字符串,可以使用任何一个普通字符串处理函数来生成
。算术运算符:+,-,*,/,%
。比较运算符:and,or,<>,<=,>=,<,>
-IN:确定指定值是否包含在一个集合中
。myExpression="myColumn IN ('a','b','c')"
-Like:用通配符进行模糊匹配
。函数
4.4数据视图的方法
方法 描述
AddNew:向数据视图中添加一个新的数据行视图
Delete:从数据视图中删除一个数据行视图
Find:根据指定的主键查找包含该主键的数据行视图
*Find方法
。按指定的排序关键字值在DataView中查找行。
*数据集实用技巧
。Excel和DataSet
。XML和DataSet
。BlOB和DataSet