DataSet是数据集,DataTable是数据库,DataSet存储多个DataTable。DataSet和DataTable像是专门存储数据的一个容器,在你查询数据库得到一些结果时可以存在里面。DataSet功能强大有浏览、排序、搜索、过滤、处理分级数据、缓存更改等功能,还可以与XAML数据互换。DataSet中可包括多个DataTable,可将多个查询结构存到一个DataSet中,方便操作ADO.NET开发人员为方便数据处理速度快,但它是只读的,一旦移到下一行就不能查看上一行的数据,DataSet这可以自由移到指针。DataSet的数据库断开的。DataSet还可用于多层应用程序中,如果应用程序运行在中间层的业务对象中来访问数据库,则业务对象将脱机数据结构传递给客户应用程序。
DataSet的三种创建方式:
DataTable() 不带参数初始化DataTable类的新实例。
DataTable(string tableName)用指定的表名初始化DataTable类的新实例。
DataSet的常用属性介绍:
CaseSensitive指示表中的字符串比较是否区分大小写。如果是区分大小写则为false,默认值为false。
ChildRelations获取此DataTable的子关系的集合。
Columns获取属于该表的列的集合。
Constraints获取由该表维护的约束的集合。
DataSet获取此表所属的DataSet。DataSet相关信息。
DefaultView获取可能包括筛选视图或游标位置的表的自定义视图。
HasErrors获取一个值,该值指示该表所属的DataSet的任何表的任何行中是否有错误。
MinimumCapacity获取或设置该表最初的起始大小,该表中行的最初起始大小。
Rows获取属于该表的集合。
TableName获取或设置DataTable的名称。
DataSet常用方法:
Clear()清除所有数据的DataTabel。
Clone()克隆DataTable的结构,包括所有DataTable架构和约束。
EndInit()结束窗体上使用或由另一个组件使用的DataTable的初始化,初始化发生在运行时。
ImportRow(DataRow row)将DataRow复制到DataTable中,保留任何属性设置以及初始值和当前值。
Merge(DataTable table)将指定的DataTable与当前的DataTable合并。
NewRow()创建与该表具有相同架构的新DataRow。
AcceptChanges()提交自上次调用AcceptChanges()以来对该表进行的所有更改。
BeginInit()开始初始化在窗体上使用或由另一个组件使用的DataTable。初始化发生在运行时。
遍历DataSet的方法
Foreach(DataTable dt in dataSet.Tables)
Foreach(DataRow dr in dt.Rows)
Foreach(DataColumn dc in dr.Table.Columns)
Console.WriteLine(dr[dc]);