【发布时间】:2009-06-02 12:08:07
【问题描述】:
我正在通过命令对象中的选择查询加载我的 ADO.net 数据集。如果我用 Acceptchanges 清除数据集数据,它会删除 sql server 中的数据。
如果不行请告诉我怎么办?
【问题讨论】:
标签: c# sql-server ado.net
我正在通过命令对象中的选择查询加载我的 ADO.net 数据集。如果我用 Acceptchanges 清除数据集数据,它会删除 sql server 中的数据。
如果不行请告诉我怎么办?
【问题讨论】:
标签: c# sql-server ado.net
不,不会的。
您必须确保 DataTable 中的每个 DataRow 都标记为“已删除”。也就是说,必须将每行的行状态设置为已删除。 您可以通过遍历所有行来做到这一点,并为每一行调用 Delete 方法。
然后,您必须在调用 AcceptChanges 之前调用 DataAdapter 的 Update 方法。在数据库中完成更改后,您必须调用“AcceptChanges”,以表明数据集/数据表不再包含必须在数据库中持久化的更改。 (调用 AcceptChanges 将删除 RowState 为“已删除”的 DataRows,并将所有其他 DataRows 的 RowState 更改为“UnChanged”。
【讨论】: