閱讀英文

共用方式為


DataTable.GetChanges 方法

定義

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

多載

GetChanges()

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

GetChanges(DataRowState)

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

GetChanges()

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

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

C#
public System.Data.DataTable? GetChanges ();
C#
public System.Data.DataTable GetChanges ();

傳回

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

範例

C#
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);
}

備註

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

另請參閱

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetChanges(DataRowState)

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

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

C#
public System.Data.DataTable? GetChanges (System.Data.DataRowState rowStates);
C#
public System.Data.DataTable GetChanges (System.Data.DataRowState rowStates);

參數

rowStates
DataRowState

其中一個 DataRowState 值。

傳回

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

範例

C#
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);
}

備註

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

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

另請參閱

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1