DataSet の更新部分を抽出する方法

  データソースから取得後に追加、更新、削除された DataSet から変更された部分のみを抽出するには、「GetChanges()」メソッドを使用します。
 尚、追加、更新、削除の途中で「AcceptChanges()」メソッドを実行して DataSet への変更がコミットされた場合、コミット以降に変更された部分のみ抽出されます。
 また、DataSet に複数の DataTable がある場合で、一部の DataTable の変更が無い場合、抽出された DataSet の該当 DataTable は空で生成されます。
【使い方】

 (1) DataSet 全体で追加、更新、削除されたデータを抽出します。
  // ds は DataSet
  // 更新を判断する
  if ( ds.HasChanges() )
  {
      //変更されたDataSetを抽出します。
      DataSet dsUpd = ds.GetChanges();
  }        
 (2) DataSet 全体で更新された部分のみ抽出します。
     (DataRowState.Modified で更新されたレコードのみフィルターして確認する)
  // ds は DataSet
  // 更新を判断する
  if ( ds.HasChanges(DataRowState.Modified))
  {
      //更新されたDataSetを抽出します。
      DataSet dsUpd = ds.GetChanges(DataRowState.Modified);
  }
【補足】
 Webサービス等でデータベースの更新等を行う場合、そのネットワークの負荷を軽減する必要があり、この抽出メソッドは有用である。
戻る