DataSet的作用是临时存储数据,那么怎么样才能把数据源的数据放在数据集中呢,这就需要使用到数据适配器(DataAdapter)对象。
数据库、数据集、数据库连接(Connection)、数据适配器的关系:
数据库就相当于仓库,数据集就相当于临时存储库,数据库连接就相当于数据库到数据集之间的一条路,数据适配器就相当于运送数据的卡车。
数据适配器属于.NET数据提供程序,所以不同类型的数据库需要使用不同的数据适配器。我们还是在SQL SERVER 数据库的基础上进行讲解。
DataAdapter对象
属性
SelectCommand 从数据库检索数据的Command对象
方法
Fill 向DataSet中的表填充数据
Update 将DataSet中的数据提交到数据库
如何填充数据集
(1)创建数据库连接对象(Connection对象)
(2)创建从数据库查询数据用的SQL语句.
(3)利用上面创建的SQL语句和Connection对象创建DataAdapter对象
语法:
- SqlDataAdapter objAdapter = new SqlDataAdapter(查询用的SQL语句,数据库连接);
(4)调用DataAdapter对象的Fill()方法填充数据集。
DaterAdapter对象.Fill(数据集对象,"数据表的名称");
在该方法中,如何数据集中没有该表,则会创建一个新表,如果有的话,将会继续将数据
填充到数据集中的该表中。
如何保存数据集中的数据
这就需要使用DataAdapter的Update()方法,在更新数据时,需要相应的SQL命令。
在.NET中,为我们提供了一个SqlCommandBuilder对象(构造SQL),使用它可以自动
生成需要的SQL命令。
步骤:
(1)使用SqlCommandBuilder对象生成更新用的相关命令。
SqlCommandBuilder builder = new SqlCommandBuilder(已创建的DataAdapter对象);
(2)调用DataAdapter对象的Update()方法
DataAdapter对象.Update(数据集对象,"数据集表名称");
注:sqlCommandBuilder只能操作单个表。