DataSet.GetChanges メソッド (DataRowState)
前回 DataSet を読み取るか、 AcceptChanges を呼び出した以降にこのデータセットに対して行われたすべての変更が格納されているこのデータセットのコピーを、 DataRowState によってフィルタ処理した後で取得します。
Overloads Public Function GetChanges( _
ByVal rowStates As DataRowState _) As DataSet
[C#]
public DataSet GetChanges(DataRowStaterowStates);
[C++]
public: DataSet* GetChanges(DataRowStaterowStates);
[JScript]
public function GetChanges(
rowStates : DataRowState) : DataSet;
パラメータ
- rowStates
DataRowState 値の 1 つ。
戻り値
アクションを実行した後、 Merge を使用して元のデータセットにマージするために使用できる、 DataSet のフィルタ処理後のコピー。必要な DataRowState の行が見つからない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。
解説
GetChanges メソッドを使用して、元のオブジェクトの変更だけを格納する 2 つ目の DataSet オブジェクトを作成します。引数 rowStates を使用して、この 2 つ目のオブジェクトに格納する変更の種類を指定します。
この返されたコピーは、元の DataSet にマージされるよう設計されています。リレーションシップ制約があるために、Unchanged マークが付けられた親行が含まれる場合があります。必要な DataRowState の行が見つからない場合は、 GetChanges メソッドが null 参照 (Visual Basic では Nothing) を返します。
使用例
[Visual Basic, C#, C++] GetChanges メソッドを使用して、データ ソースの更新に使用する 2 番目の DataSet オブジェクトを作成する例を次に示します。
Private Sub UpdateDataSet(ByVal myDataSet As DataSet)
' Check for changes with the HasChanges method first.
If Not myDataSet.HasChanges(DataRowState.Modified) Then Exit Sub
' Create temporary DataSet variable.
Dim xDataSet As DataSet
' GetChanges for modified rows only.
xDataSet = myDataSet.GetChanges(DataRowState.Modified)
' Check the DataSet for errors.
If xDataSet.HasErrors Then
' Insert code to resolve errors.
End If
' After fixing errors, update the data source with the DataAdapter
' used to create the DataSet.
myOleDbDataAdapter.Update(xDataSet)
End Sub
[C#]
private void UpdateDataSet(DataSet myDataSet){
// Check for changes with the HasChanges method first.
if(!myDataSet.HasChanges(DataRowState.Modified)) return;
// Create temporary DataSet variable.
DataSet xDataSet;
// GetChanges for modified rows only.
xDataSet = myDataSet.GetChanges(DataRowState.Modified);
// Check the DataSet for errors.
if(xDataSet.HasErrors){
// Insert code to resolve errors.
}
// After fixing errors, update the data source with the DataAdapter
// used to create the DataSet.
myOleDbDataAdapter.Update(xDataSet);
}
[C++]
private:
void UpdateDataSet(DataSet* myDataSet){
// Check for changes with the HasChanges method first.
if(!myDataSet->HasChanges(DataRowState::Modified)) return;
// Create temporary DataSet variable.
DataSet* xDataSet;
// GetChanges for modified rows only.
xDataSet = myDataSet->GetChanges(DataRowState::Modified);
// Check the DataSet for errors.
if(xDataSet->HasErrors){
// Insert code to resolve errors.
}
// After fixing errors, update the data source with the DataAdapter
// used to create the DataSet.
myOleDbDataAdapter->Update(xDataSet);
}
[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 ファミリ
参照
DataSet クラス | DataSet メンバ | System.Data 名前空間 | DataSet.GetChanges オーバーロードの一覧 | GetChanges