最近做一个数据同步的工作,在对数据获取后放入DataSet之后,每行的值更新后执行:
DataSet.Table[0].AcceptChanges()之后,做更新操作adapter.Update();发现数据库不执行更新。
设置断点方知:在对行上的数据更新时,这时RowState为Modified,即已修改状态;而当执行AcceptChanges()时,
RowState为Unchanged,即未更改状态。从而推断,Adapter在做更新到时候先判断状态,然后再做数据库操作。
所有AcceptChanges()如果仅仅是数据操作时,可在update()之后调用,或者不调用。因为执行完update()之后,行状态
均为unchanged,可以理解为已经执行了AcceptChanges().