Committing and Discarding Changes
When a
DataRow is modified, ADO.NET marks the row as
having a changes and sets the RowState of the
DataRow to Added,
Modified, or Deleted, as
appropriate. ADO.NET also maintains version information by storing
both Original and Current
versions of each row. Together, this information allows ADO.NET or an
application to identify the rows and columns that have been changed.
AcceptChanges and RejectChanges
The AcceptChanges( )
and RejectChanges( )
methods either accept or reject the changes that have been made to
the DataSet since it was last loaded from the data
source or since AcceptChanges( ) was last called.
The AcceptChanges( ) method commits all pending
changes within the DataSet. Calling
AcceptChanges( ) changes the
RowState of Added and
Modified rows to Unchanged.
Deleted rows are removed. The
Original values for the DataRow
are set to the Current values. Calling the
AcceptChanges( ) method has no effect on the data
in the underlying data source.
The AcceptChanges( ) method is implicitly called
on a row when the DataAdapter successfully updates
that row back to the data source when the Update( ) method is called. As a result, when a
DataAdapter is used to update the data source with
the changes made to the DataSet,
AcceptChanges( ) doesn’t need to
be called. Calling AcceptChanges( ) on a
DataSet filled using a
DataAdapter effectively removes all information
about how the DataSet has been changed since it was loaded. This makes it impossible ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access