次の方法で共有


DataTable.GetChanges メソッド (DataRowState)

前回 DataTable を読み込むか、 AcceptChanges を呼び出した以降にこのテーブルに対して行われたすべての変更が格納されているこのテーブルのコピーを、 DataRowState によってフィルタ処理した後で取得します。

Overloads Public Function GetChanges( _
   ByVal rowStates As DataRowState _) As DataTable
[C#]
public DataTable GetChanges(DataRowStaterowStates);
[C++]
public: DataTable* GetChanges(DataRowStaterowStates);
[JScript]
public function GetChanges(
   rowStates : DataRowState) : DataTable;

パラメータ

戻り値

アクションを実行した後、 Merge を使用してマージするために使用できる DataTable のフィルタ処理後のコピー。必要な DataRowState の行が見つからない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。

解説

GetChanges メソッドを使用して、元のオブジェクトの変更だけを格納する 2 つ目の DataTable オブジェクトを作成します。引数 rowStates を使用して、新しいオブジェクトに格納する変更の種類を指定します。

リレーションシップ制約があるために、Unchanged マークが付けられた親行が含まれる場合があります。必要な DataRowState の行が見つからない場合は、 GetChanges メソッドが null 参照 (Visual Basic では Nothing) を返します。

使用例

 
Private Sub ProcessDeletes(myDataTable As DataTable, myDataAdapter As OleDbDataAdapter)
   Dim xDataTable As DataTable = myDataTable.GetChanges(DataRowState.Deleted)

   ' 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

[C#] 
private void ProcessDeletes(DataTable myDataTable, OleDbDataAdapter myDataAdapter)
{
   DataTable xDataTable = myDataTable.GetChanges(DataRowState.Deleted);

   // 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);
}

[C++] 
private:
    void ProcessDeletes(DataTable* myDataTable, OleDbDataAdapter* myDataAdapter)
    {
    DataTable* xDataTable;
    // Check the DataTable for errors.
    xDataTable = myDataTable->GetChanges(DataRowState::Deleted);

    if (xDataTable->HasErrors)
    {
        // Insert code to resolve errors.
    }

    // After fixing errors, update the database with the DataAdapter
    myDataAdapter->Update(xDataTable);

    };

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

DataTable クラス | DataTable メンバ | System.Data 名前空間 | DataTable.GetChanges オーバーロードの一覧