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 ...
Get ADO.NET in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.