数据集中修改后的数据,如果长期保存,就必须存放到数据库中,这就需要使用DataAdapter对象的Update()方法。

事实上数据适配器是通过Command对象来操作数据库和数据集的。当调用Fill()方法时,系统会通过SeletCommand命令将数据库中的数据填充到数据集中。当调用Update()方法时,数据适配器会检查数据表中行的状态,如果状态为增加、删除和修改中的一种,就会调用InsertCommand、DeleteCommand、UpdateCommand命令执行数据操作。

在执行适配器的Update()方法时,通常要求创建InsertCommand、DeleteCommand、UpdateCommand的3种SQL语句,如果少了其中一种可能会引发异常。为了使编码更简单,更容易接受,.NET提供了SqlCommandBuilder对象自动生成需要的SQL命令。通常SqlCommandBuilder对象会创建三大命令,语法如下:

SqlCommandBuilder 对象名=new SqlCommandBuilder(已创建的DataAdapter对象);

示例代码如下:

SqlCommandBuilder Builder=new SqlCommandBuilder(objadapter);

将数据集中的数据保存到数据库的方法:

一、使用SqlCommandBuilder对象生成更新的相关命令。

二、调用DataAdapter的Update()方法。

语法如下:

DataAdapter对象.Update(数据集对象,"数据表名");

示例代码:

SqlCommandBuilder Builder=new SqlCommandBuilder(objadapter);

objadapter.Update(da,"student");

注意:SqlCommandBuilder只能操作单个表,不能进行联合表的操作。