数据集中修改后的数据,如果长期保存,就必须存放到数据库中,这就需要使用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只能操作单个表,不能进行联合表的操作。