追加更新の為の自動インクリメントの設定方法

  非接続型のデータソースである DataTable に自動インクリメント列が含まれ、このデータに新規に行を追加する場合、以下の注意が必要となります。
  非接続型データソースである DataTablel 内の値を基にしてインクリメントした値を求めることは、以下の理由からできないと考えた方が良いと思われます。
    ・DataTable 内には抽出条件により一部のデータのみ存在し、インクリメント列の最終値を取得できない。
    ・仮に全データ取得または最終データが取得されていても、非接続型データであるが故に、
     取得以降に元データが更新される可能性がある。

 従って、DataTable 内では一時的にユニークな仮番号で対応し、データベース登録時に正規の番号を設定する方法を用いることをお勧めします。
【サンプル C#】

DataTable 内では一時的にユニークな仮番号を設定するサンプル
  //追加登録時に備え、自動インクリメント列が負の値で増加する様に設定

  //対象とする列オブジェクトを取得する
  DataColumn col = dt.Columns["列名"];

  //自動インクリメントを設定
  col.AutoIncrement = true;
  //初期値を-1に設定する
  col.AutoIncrementSeed = -1;
  //増分値を-1に設定する
  col.AutoIncrementStep = -1;
戻る