DataSet的数据更新包括数据修改、数据添加和数据删除三种方式,上述方式的实现模式是相同的,具体实现过程如下。
1)使用被操作数据填充DataSet。
2)对DataSet的数据进行更新处理。
3)把更新后的DataSet数据返回到数据库中。
1.数据修改
使用DataSet修改数据的过程比较简单,例如通过如下代码可以修改Customers表内的指定数据:
上述代码的实现流程如下。
1)定义连接参数source,实现和指定数据库northwind的连接。
2)定义查询语句参数select查询库内Customer表的信息。
3)定义SqlDataAdapter类对象mm,用于选择DataSet中的数据。
4)定义DataSet对象nn,使用Fill()方法对表的数据进行处理。
5)通过Tables和Rows获取原来的数据值。
6)使用Update()修改为指定的值。
7)通过WriteLine()输出修改后的值。
将上述代码保存为“光盘:\daima\17\gengxin”,执行后将依次输出显示修改前的值和修改后的值,如图17-16所示。
图17-16 输出修改前的值和修改后的值
2.添加数据
使用DataSet添加数据行的流程如下。
1)创建新的DataRow对象,并在其中添加数据。
2)将上面对象添加到DataSet的Rows集合内。
3)调用DataAdapter的Update()方法,把添加后的更新分配到数据库中。(www.xing528.com)
3.删除数据
使用DataSet内的Delete()方法可以删除库内指定的数据行。下面通过一个具体的实例来说明使用DataSet删除库内指定行的实现方法。
实例83:使用DataSet删除库内指定行
本实例代码保存在“光盘:\daima\17”文件夹内,项目名为shanchu。实例的功能是输出显示对Customers表操作的数据行信息。实例文件shanchu.cs的主要代码如下:
上述实例文件的实现流程如下。
1)定义SqlConnection对象aa,实现和指定数据库northwin的连接。
2)定义SqlDataAdapter对象bb,设置查询库内Customer表的信息。
3)定义SqlCommandBuilder对象thisBuilder,用于执行bb处理语句。
4)使用Count获取Customer表内原来数据的行数。
5)定义DataSet对象cc,使用Fill()方法对表的数据进行处理。
6)定义DataRow对象dd,设置删除Customer表内CustomerID为“mmm”的值。
7)使用if语句查询表内是否存在CustomerID为“mmm”的值。
8)如果存在CustomerID为“mmm”的值,则使用Delete()方法删除这个值的行。
9)通过WriteLine()输出删除处理后Customer表的数据行数。
执行后将依次输出显示删除前的行数和删除后的行数,如图17-17所示。
图17-17 输出删除前的行数和删除后的行数
注意
如果要删除的值在此数据库中不存在,上述实例代码将会引发异常。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。