AcceptChangesDuringFill
The AcceptChangesDuringFill( )
controls whether AcceptChanges( ) is implicitly called on new rows when they are added to a
DataTable by the Fill( )
method. If AcceptChangesDuringFill is
true, the rows added as a result of the
Fill( ) have a RowState of
Unchanged after they are added to the
DataSet. If
AcceptChangesDuringFill is
false, the RowState of the
newly added rows is Added. The following example
demonstrates this:
// connection and select command strings
String connString = "Data Source=(local);Integrated security=SSPI;" +
"Initial Catalog=Northwind;";
String selectSql = "SELECT * FROM Orders";
// create a new DataSet to receive the data
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(selectSql, connString);
da.Fill(ds, "Orders");
// each row in the Orders table has RowState = Unchanged
ds.Tables["Orders"].Clear();
da.AcceptChangesDuringFill = false;
da.Fill(ds, "Orders");
// each row in the Orders table has RowState = Inserted
// manually call AcceptChanges
ds.AcceptChanges();
// each row in the Orders table has RowState = UnchangedThe default value for AcceptChangesDuringFill is
true. Because the records already exist in the
data source, the records retrieved during the Fill( ) operation should not be considered new records when the
data source is eventually updated with the
DataSet.
Setting AcceptChangesDuringFill to
false can be useful, for example, to transfer data between data sources. Records retrieved from a data source are ...
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