我正在通过命令对象中的select query加载我的ADO.net数据集。如果我使用Acceptchanges清除数据集数据,它将删除sql server中的数据。
如果没有请让我知道该怎么做?
答案 0 :(得分:1)
不,它不会。
您必须确保DataTable中的每个DataRow都标记为“已删除”。也就是说,每行的rowstate必须设置为Deleted。 您可以通过遍历所有行来完成此操作,并为每一行调用Delete方法。
然后,在调用AcceptChanges之前,您必须调用DataAdapter的Update方法。在完成数据库中的更改后,必须调用“AcceptChanges”,以指示数据集/数据表不再包含必须在数据库中保留的更改。 (调用AcceptChanges将删除RowState为'Deleted'的DataRows,并将所有其他DataRows的RowState更改为'UnChanged'。