要修改数据源中的数据,应该将被修改的记录传递给一个特定的过程。在处理完修改之后,要调用数据集的AcceptChanges方法。这个方法提交了对数据集所做的修改。下面介绍何时调用AcceptChanges方法:
1. 如果将一个数据集的内容与另一个合并起来,需要提交提交目标数据集中的修改。这与使用Fill方法加载到数据集中的数据不同。在那时,数据适配器自动提交数据集中的修改。
2. 当把数据集修改发送给另一个应用程序时,后者将处理修改并将其写入数据源。
AcceptChanges方法在数据集中的修改呗确定后使用一条记录的Curr版本覆盖其Original版本、删除标记为已删除的行(其rowState属性呗设置为Deleted),并将RowState属性设置为UnChanged。可以再行一级调用AcceptChanges方法,提交了对一个特定行的修改。类似的,可以再表和数据集一级调用这个方法,相关对象的修改将被提交。
在提交对数据集的修改之前要特别小心,因为调用AcceptChanges方法会将任何修改信息从数据集中删除。
下面的代码允许在更新数据集之后提交Students表中的修改:
studentsDataAdapter.Update(DSStudent,"Student");
DSStudent.Student.AcceptChanges();