次の方法で共有


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 行に追加される可能性があります。 保留中の変更を含む元DataSetnull行がない場合、メソッドは (Nothing Visual Basic の場合) を返します。

こちらもご覧ください

適用対象

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 値のいずれか 1 つ。

戻り値

アクションを実行した後、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 、元の に導入された変更のみを含む 2 番目 DataTable のオブジェクトを生成するために使用されます。 引数を rowStates 使用して、新しいオブジェクトに含める変更の種類を指定します。

リレーションシップの制約により、変更されていない親行が含まれる可能性があります。

こちらもご覧ください

適用対象