DataTable.GetChanges 方法

定義

取得 DataTable (包含從前一次載入它或呼叫 AcceptChanges() 以來所做的所有變更) 的複本。

多載

GetChanges()

取得 DataTable (包含從載入它或前一次呼叫 AcceptChanges() 以來所做的所有變更) 的複本。

GetChanges(DataRowState)

取得 DataTable (包含從前一次載入它或呼叫 AcceptChanges() 以來所做的所有變更) 的複本 (由 DataRowState 篩選)。

GetChanges()

來源:
DataTable.cs
來源:
DataTable.cs
來源:
DataTable.cs

取得 DataTable (包含從載入它或前一次呼叫 AcceptChanges() 以來所做的所有變更) 的複本。

public:
 System::Data::DataTable ^ GetChanges();
public System.Data.DataTable? GetChanges ();
public System.Data.DataTable GetChanges ();
member this.GetChanges : unit -> System.Data.DataTable
Public Function GetChanges () As DataTable

傳回

這個 DataTable 所產生變更的複本,如果沒有變更,則為 null

範例

private void UpdateDataTable(DataTable table,
    OleDbDataAdapter myDataAdapter)
{
    DataTable xDataTable = table.GetChanges();

    // Check the DataTable for errors.
    if (xDataTable.HasErrors)
    {
        // Insert code to resolve errors.
    }

    // After fixing errors, update the database with the DataAdapter
    myDataAdapter.Update(xDataTable);
}
Private Sub UpdateDataTable(table As DataTable, _
    myDataAdapter As OleDbDataAdapter)

    Dim xDataTable As DataTable = table.GetChanges()

    ' Check the DataTable for errors.
    If xDataTable.HasErrors Then
        ' Insert code to resolve errors.
    End If

    ' After fixing errors, update the database with the DataAdapter 
    myDataAdapter.Update(xDataTable)
End Sub

備註

建立新的 DataSet ,其中包含原始 DataSet 中具有暫止變更之所有數據列的複本。 如果未變更的數據列包含對應至已變更數據列中外鍵的主鍵,關聯性條件約束可能會導致其他未變更的數據列新增至新的 DataSet 。 方法會在 null Visual Basic 中傳回 (Nothing) ,如果原始 DataSet 中沒有任何數據列具有擱置變更。

另請參閱

適用於

GetChanges(DataRowState)

來源:
DataTable.cs
來源:
DataTable.cs
來源:
DataTable.cs

取得 DataTable (包含從前一次載入它或呼叫 AcceptChanges() 以來所做的所有變更) 的複本 (由 DataRowState 篩選)。

public:
 System::Data::DataTable ^ GetChanges(System::Data::DataRowState rowStates);
public System.Data.DataTable? GetChanges (System.Data.DataRowState rowStates);
public System.Data.DataTable GetChanges (System.Data.DataRowState rowStates);
member this.GetChanges : System.Data.DataRowState -> System.Data.DataTable
Public Function GetChanges (rowStates As DataRowState) As DataTable

參數

rowStates
DataRowState

其中一個 DataRowState 值。

傳回

篩選過的 DataTable 複本,可以在其上執行動作,稍後會在 DataTable 中使用 Merge(DataSet) 合併回來。 如果找不到所需的 DataRowState 的資料列,則方法會傳回 null

範例

private void ProcessDeletes(DataTable table,
    OleDbDataAdapter adapter)
{
    DataTable changeTable = table.GetChanges(DataRowState.Deleted);

    // Check the DataTable for errors.
    if (changeTable.HasErrors)
    {
        // Insert code to resolve errors.
    }

    // After fixing errors, update the database with the DataAdapter
    adapter.Update(changeTable);
}
Private Sub ProcessDeletes(table As DataTable, _
    adapter As OleDbDataAdapter)

   Dim changeTable As DataTable = table.GetChanges(DataRowState.Deleted)

   ' Check the DataTable for errors.
   If table.HasErrors Then
      ' Insert code to resolve errors.
   End If

   ' After fixing errors, update the database with the DataAdapter 
   adapter.Update(changeTable)
End Sub

備註

方法 GetChanges 是用來產生第二 DataTable 個物件,只包含對原始導入的變更。 使用 自 rowStates 變數來指定新物件應該包含的變更類型。

關聯性條件約束可能會導致未變更的父數據列包含在內。

另請參閱

適用於