当前位置: 代码迷 >> 综合 >> 数据库开发及ADO.NET(40)——DataSet的更新
  详细解决方案

数据库开发及ADO.NET(40)——DataSet的更新

热度:24   发布时间:2023-10-01 20:05:21.0

1、可以:

  • 更新行row["Name"] = "lrj"、
  • 删除行datatable.Rows.Remove()、
  • 新增行datatable. NewRow()。

这一切都是修改的内存中的DataSet,没有修改数据库

 

2、可以调用SqlDataAdapter的Update方法将对DataSet的修改提交到数据库,Update方法有很多重载方法可以提交整个DataSet、DataTable或者若干DataRow。但是需要为SqlDataAdapter提供DeleteCommand、UpdateCommand、InsertCommand它才知道如何将对DataSet的修改提交到数据库,由于这几个Command要求的格式非常苛刻,因此开发人员自己写非常困难,可以用SqlCommandBuilder自动生成这几个Command,用法很简单:new SqlCommandBuilder(adapter)。查看生成的Command(没有直接赋值给SqlDataAdapter ,看SqlCommandBuilder的)。SqlCommandBuilder要求表必须有主键

3、通过DataRow的RowState可以获得行的状态(删除、修改、新增等);调用DataSet的GetChanges()方法得到变化的结果集,降低传递的资源占用。

  相关解决方案