在SQL Server中使用AcceptChanges

时间:2009-09-09 11:28:51

标签: c# sql-server ado.net

我对在数据集中使用AcceptChanges的效果感到困惑。从我的测试中可以看出,这会强制对数据库更改进行评估,而忽略对数据库的任何约束。

任何人都可以确认是否是这种情况,或者如果没有,这与使用数据集上的更新功能有何不同?

1 个答案:

答案 0 :(得分:7)

AcceptChanges不会影响您的数据库,它只会影响DataSet(您的数据内存副本)。

使用AcceptChanges将导致数据集中所有表的所有Datarows将其Rowstate重置为RowState.Unchanged。

通常将AcceptChanges与DataTable.GetChanges方法一起使用。或者使用DbDataAdapter.Update方法。您可以使用其中任何一个来获取更改或将更改保留到数据库,然后使用AcceptChanges告诉DataSet已存储更改。