DataTable.GetChanges メソッド

定義

前回 DataTable を読み取るか、AcceptChanges() を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを取得します。Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called.

オーバーロード

GetChanges()

前回 DataTable を読み取るか、AcceptChanges() を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを取得します。Gets a copy of the DataTable that contains all changes made to it since it was loaded or AcceptChanges() was last called.

GetChanges(DataRowState)

前回 DataTable を読み取るか、AcceptChanges() を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを、DataRowState によってフィルター処理した後で取得します。Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called, filtered by DataRowState.

GetChanges()

前回 DataTable を読み取るか、AcceptChanges() を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを取得します。Gets a copy of the DataTable that contains all changes made to it since it was loaded or AcceptChanges() was last called.

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

戻り値

この DataTable からの変更のコピー。変更がない場合は nullA copy of the changes from this DataTable, or null if no changes are found.

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 を作成します。Creates a new DataSet containing a copy of all rows in the original DataSet that have pending changes. リレーションシップの制約により、変更された行の外部キーに対応する主キーが変更されていない行に含まれている場合は、変更されていない行が新しい DataSet に追加されることがあります。Relationship constraints can cause additional unchanged rows to be added to the new DataSet if the unchanged rows contain primary keys corresponding to foreign keys in the changed rows. 元の DataSet に保留中の変更がある行がない場合、メソッドは null (Nothing Visual Basic) を返します。The method returns null (Nothing in Visual Basic) if there are no rows in the original DataSet with pending changes.

こちらもご覧ください

GetChanges(DataRowState)

前回 DataTable を読み取るか、AcceptChanges() を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを、DataRowState によってフィルター処理した後で取得します。Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges() was called, filtered by DataRowState.

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 つ。One of the DataRowState values.

戻り値

アクションを実行した後、DataTable を使用して元の DataTable にマージするために使用できる、Merge(DataSet) のフィルター処理後のコピー。A filtered copy of the DataTable that can have actions performed on it, and later be merged back in the DataTable using Merge(DataSet). 必要な DataRowState の行が見つからない場合、このメソッドは null を返します。If no rows of the desired DataRowState are found, the method returns 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 オブジェクトを生成するために使用されます。The GetChanges method is used to produce a second DataTable object that contains only the changes introduced into the original. rowStates 引数を使用して、新しいオブジェクトに含める変更の種類を指定します。Use the rowStates argument to specify the type of changes the new object should include.

リレーションシップの制約により、変更されていない親行が含まれる場合があります。Relationship constraints may cause unchanged parent rows to be included.

こちらもご覧ください

適用対象