DataTable.GetChanges 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 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
變數來指定新物件應該包含的變更類型。
關聯性條件約束可能會導致未變更的父數據列包含在內。