DataRow.AcceptChanges 方法


認可自前一次呼叫 AcceptChanges() 以來,對這個資料列所做的所有變更。Commits all the changes made to this row since the last time AcceptChanges() was called.

 void AcceptChanges();
public void AcceptChanges ();
member this.AcceptChanges : unit -> unit
Public Sub AcceptChanges ()


資料列不屬於資料表。The row does not belong to the table.


下列範例會先建立具有一個資料行的新 DataTable,然後建立單一 DataRowThe following example first creates a new DataTable with one column, and then creates a single DataRow. 建立、新增、修改和刪除 DataRow 時,會列印其 RowStateAs the DataRow is created, added, modified, and deleted, its RowState is printed.

   private void DemonstrateAcceptChanges()
       //Run a function to create a DataTable with one column.
       DataTable table = MakeTable();
       DataRow row;

       // Create a new DataRow.
       row = table.NewRow();
       // Detached row.
       Console.WriteLine("New Row " + row.RowState);

       // New row.
       Console.WriteLine("AddRow " + row.RowState);

       // Unchanged row.
       Console.WriteLine("AcceptChanges " + row.RowState);

       row["FirstName"] = "Scott";
       // Modified row.
       Console.WriteLine("Modified " + row.RowState);

       // Deleted row.
       Console.WriteLine("Deleted " + row.RowState);

   private DataTable MakeTable()
       // Make a simple table with one column.
       DataTable table = new DataTable("table");
       DataColumn fnameColumn = new DataColumn(
           "FirstName", Type.GetType("System.String"));
       return table;
Private Sub DemonstrateAcceptChanges()
    ' Run a function to create a DataTable with one column.
    Dim table As DataTable = MakeTable()
    Dim row As DataRow 
    ' Create a new DataRow.
    row = table.NewRow()
    ' Detached row.
    Console.WriteLine("New Row " & row.RowState)
    ' New row.
    Console.WriteLine("AddRow " & row.RowState)
    ' Unchanged row.
    Console.WriteLine("AcceptChanges " & row.RowState)
    row("FirstName") = "Scott"
    ' Modified row.
    Console.WriteLine("Modified " & row.RowState)
    ' Deleted row.
    Console.WriteLine("Deleted " & row.RowState)
 End Sub
 Private Function MakeTable()As DataTable
    ' Make a simple table with one column.
    Dim table As New DataTable("table")
    Dim fnameColumn As New DataColumn( _
        "FirstName", Type.GetType("System.String"))
    MakeTable = table
 End Function


叫用 AcceptChanges時,會隱含呼叫 EndEdit 方法來結束任何編輯。When invoking AcceptChanges, the EndEdit method is implicitly called to end any edits. 如果加入或修改資料列的 RowStateRowState 就會變成不變。If the RowState of the row was Added or Modified, the RowState becomes Unchanged. 如果 RowState 已刪除,則會移除該資料列。If the RowState was Deleted, the row is removed.

如需詳細資訊,請參閱 BeginEdit 方法。See the BeginEdit method for more information.

DataTable 類別也有 AcceptChanges 的方法,它會影響對整個資料表所做的變更。The DataTable class also has an AcceptChanges method which affects changes made to the whole table. 如需詳細資訊,以及示範如何接受和拒絕個別資料列之變更的程式碼範例,請參閱AcceptChanges 和 RejectChangesFor more information and a code example that demonstrates how to accept and reject changes to individual data rows, see AcceptChanges and RejectChanges.