DataAdapter类用于将数据表中的数据查询出来并添加到DataSet中,DataAdapter在System Data SqlClient命名空间下对应的类名是SqlDataAdapter。
SqlDataAdapter类的主要构造方法如下表所示。
构造方法 说明
SqlDataAdapter(SqlCommandcmd) 带参数的构造方法,传递SqlCommand类的对象作为参数
SqlDataAdapter(string sql,Sql Connection conn) 带参数的构造方法,sql参数是指对数据表执行的SQL语句,conn是数据库的连接对象
SqlDataAdapter() 不带参数的构造方法
从SqlDataAdapter类的构造方法可以看出,SqlDataAdapter类需要与SqlCommand类和SqlConnection类一起使用。
SqlDataAdapter类常用的属性和方法如下表所示。
属性或方法 说明
SelectCommand 属性,设置SqlDataAsapter中要执行的查询语句
insertCommand 属性,设置 SqlDataAdapter 中要执行的添加语句
UpdateCommand 属性,设置 SqlDataAdapter 中要执行的修改语句
DeleteCommand 属性,设置 SqlDataAdapter 中要执行的删除语句
fill(DATASet ds) 方法,将 SqlDataAdapter 类中查询出的结果填充到 DataSet 对象中
Fill(DataTable dt) 方法,将 SqlDataAdapter 类中查询出的结果填充到 DataTable 对象 中, DataTable是数据表对象,在一个DataSet对象中由多个 DataTable对象构成
Update(DataSet ds) 方法,更新 DataSet 对象中的数据
Update(DataTable dt) 方法,更新 DataTable 对象中的数据
DataSet 类是一种与数据库结构类似的数据集,每个 DataSet 都是由若干个数据表构成的,
DataTable 即数据表,每个 DataTable 也都是由行和列构成的,行使用 DataRow 类表示、列使用 DataColumn 类表示。
此外,用户还可以通过 DataRelation 类设置数据表之间的关系。
下面介绍 DataSet 类以及 DataTable 类的使用。
- DataSet 类
DataSet 类中的构造方法如下表所示。
构造方法 说明
DataSet() 无参构造方法
DataSet(string DataSetName) 带参数的构造方法,DataSetName参数用于指定数据集名称
DataSet类中常用的属性和方法如下表所示
属性或方法 说明
Tables 属性,获取 DataSet 中所有数据表的集合,Tables[0] 代表集合中的第一个 数据表
CaseSensitive 属性,获取或设置 DataSet 中的字符串是否区分大小写
Relations 属性,获取 DataSet 中包含的关系集合
Clear() 方法,清空 DataSet 中的数据
Copy() 方法,复制 DataSet 中的数据
AcceptChanges() 方法,更新 DataSet 中的数据
HasChanges() 方法,获取 DataSet 中是否有数据发生变化
RejectChanges() 方法,撤销对 DataSet 中数据的更改 - DataTable
DataTable 作为 DataSet 中的重要对象,其与数据表的定义是类似的,都是由行和列构成,并有唯一的表名。
从 SqlDataAdapter 类的填充方法 (Fill) 中可以看出允许将数据直接填充到 DataTable 中,这样既能节省存储空间也能简化查找数据表中的数据。
DataTable 中常用的构造 方法如下表所示。
构造方法 说明
DataTable() 无参构造方法
DataTable(string TableName) 带参数的构造方法,TableName参数用于指定数据表的名称
DataTable 与 DataSet 有很多相似的属性和方法,在下表中列出了一些与 DataSet 类不同的属性。
属性 说明
TableName 属性,获取或设置DataTable的名称
Columns 属性,获取DataTable中列的集合
Rows 属性,获取DataTable中行的集合
DataSet 属性,获取DataTable所在的DataSet
Constraints 属性,获取DataTable中的所有约束