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 建立、新增、修改和刪除時, RowState 會列印其。As 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


叫用時 AcceptChangesEndEdit 會隱含地呼叫方法來結束任何編輯。When invoking AcceptChanges, the EndEdit method is implicitly called to end any edits. 如果 RowState 加入或修改資料列的,則 RowState 會變成未變更。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.