方法 : 変更された行をチェックする
データセット内のレコードを変更すると、その変更をコミットするまで変更情報が保持されます。変更は、データセットまたはデータ テーブルの AcceptChanges メソッドを呼び出した場合、または、TableAdapter またはデータ アダプターの Update メソッドを呼び出した場合に、コミットされます。
変更は次の 2 とおりの方法により各データ行で追跡されます。
各データ行には、RowState (Added、Modified、Deleted、Unchanged など) の情報があります。
変更された各データ行には、その行の複数のバージョン (DataRowVersion)、つまり元のバージョン (変更前) と現在のバージョン (変更後) があり、いずれにもアクセスできます。変更が保留されている期間 (RowChanging イベントに応答できる期間) は、3 つ目のバージョン (変更が指定されたバージョン) も利用できます。詳細については、「方法 : 特定のバージョンの DataRow を取得する」を参照してください。
変更された行があるかどうかの確認
データセットが変更された場合、データセットの HasChanges メソッドでは、true が返されます。変更された行が存在することを確認した後は、DataSet または DataTable の GetChanges メソッドを呼び出して、変更された一連の行を取得できます。詳細については、「方法 : 変更された行を取得する」を参照してください。
行が変更されたかどうかを確認するには
データセットの HasChanges メソッドを呼び出し、変更された行があるかどうかをチェックします。
HasChanges メソッドから返された値をチェックし、NorthwindDataset1 という名前のデータセットが変更されたかどうかを確認する方法を次の例に示します。
If NorthwindDataSet1.HasChanges() Then ' Changed rows were detected, add appropriate code. Else ' No changed rows were detected, add appropriate code. End If
if (northwindDataSet1.HasChanges()) { // Changed rows were detected, add appropriate code. } else { // No changed rows were detected, add appropriate code. }
変更の種類の確認
DataRowState 一覧表示の値を HasChanges メソッドに渡すことにより、データセットに加えられた変更の種類を確認できます。
行への変更の種類を確認するには
DataRowState 値を HasChanges メソッドに渡します。
NorthwindDataset1 という名前のデータセットを確認し、新しく追加された行があるかどうかを確認する方法を次の例に示します。
If NorthwindDataSet1.HasChanges(DataRowState.Added) Then ' New rows have been added to the dataset, add appropriate code. Else ' No new rows have been added to the dataset, add appropriate code. End If
if (northwindDataSet1.HasChanges(DataRowState.Added)) { // New rows have been added to the dataset, add appropriate code. } else { // No new rows have been added to the dataset, add appropriate code. }
参照
概念
Visual Studio 2012 のデータ アプリケーション開発に関する新機能
Visual Studio でのデータへの Windows フォーム コントロールのバインド
Visual Studio でのデータへのコントロールのバインド