每一个DataSet都是一个或多个DataTable 对象的集合(DataTable相当于数据库中的表)。
DataTable 类可以独立创建和使用 DataTable对象,也可以作为 DataSet 的成员创建和使用。
这些DataTable对象由数据行(DataRow)、数据列(DataColumn)、字段名(Column Name)、数据格(Item),以及约束(Constraint)和有关DataTable对象中数据的关系(Relations)与数据显示排序(DataView)信息组成。
DataTable对象的常用属性
属性名称 | 数据类型 | 说明 |
CaseSensitive | Boolean | 指示表中的字符串比较是否区分大小写。 |
ChildRelations | DataRelationCollection | 获取此Dateable 的子关系的集合。 |
Columns | DataColumnCollection | 获取属于该表的列的集合。 |
Constraints | ConstraintCollection | 获取由该表维护的约束的集合。 |
DataSet | DataSet | 获取此表所属的DataSet。 |
DefaultView | DataView | 获取可能包括筛选视图或游标位置的表的自定义视图。 |
ExtendedProperties | PropertyCollection | 获取自定义用户信息的集合。 |
HasErrors | Boolean | 获取一个值,该值指示该表所属的 DataSet 的任何表的任何行中是否有错误。 |
Locale | CultureInfo | 获取或设置用于比较表中字符串的区域设置信息。 |
MinimumCapacity | Integer | 获取或设置该表最初的起始大小。 |
Namespace | String | 获取或设置 DataTable 中所存储数据的 XML 表示形式的命名空间。 |
ParentRelations | DataRelationCollection | 获取该 DataTable 的父关系的集合。 |
Prefix | String | 获取或设置 DataTable 中所存储数据的 XML 表示形式的命名空间。 |
PrimaryKey | DataColumn[] | 获取或设置充当数据表主键的列的数组。 |
Rows | DataRowCollection | 获取属于该表的行的集合。 |
TableName | String | 获取或设置 DataTable 的名称。 |
DataTable对象的常用方法
方法名称 | 返回值类型 | 说明 |
AcceptChanges | void | 提交加载DataTable对象以后或最后一次调用AcceptChanges()方法以后对DataTable对象进行的所有更改 |
Clear | void | 删除DataTable对象中所有表格的所有行 |
Clone | DataTable | 复制DataTable对象的结构,包括DataTable架构、关系和约束并返回。不复制任何数据。 |
Compute | Object | 计算当前行中通过过滤条件的指定表达式。 |
GetChanges | DataTable | 重载,取得上次装入DataTable对象以后或最后一次调用AcceptChanges()方法以后DataTable对的拷贝。 |
GetError | DataRow[] | 重载,取得发生错误的所有DataRow对象的拷贝。 |
LoadDataRow | DataRow | 寻找和更新指定的DtatRow对象。如果找不到匹配的DtatRow对象,则用指定的指生成新行。 |
NewRow | DataRow | 在DataTable中生成新的DtatRow对象。 |
RejectChanges | void | 取消加载DataTable对象以后或最后一次调用AcceptChanges()方法以后对DataTable对象进行的所有更改 |
Select | DataRow[] | 重载,返回 DataTable 中匹配指定过滤字符串的DataRow对象。也可以传入一个字符串,其中包含描述如何排序DataRow对象的细节。 |
创建DataTable 对象实例两种方法
1)创建 DataTable 对象的实例,并为其指定名称“Customer”
DataTable dt_Customer = new DataTable(“Customer”);
2)创建 DataTable 实例,将其添加到 DataSet 的 Tables 集合中
DataSet ds_FastFood= new DataSet();
DataTable customerTable = ds_FastFood.Tables.Add("Customer");