質問: delphi データベースコンポーネント使用時におけるidの自動生成に delphi データベースコンポーネント使用時におけるidの自動生成について 質問させていただきます。よろしくお願いします。現在delphiでtquery,tdatabase,tdatasourceを使用し、データベースに接続、dbgridでレコードを一覧表示し、dbeditとdbnavigatorでレコードの新規登録や編集が行えるようにしています。 ここでidというフィールドを作り、これを主キーとして扱っていますが、レコードの新規作成時、自動的に連番で数値が挿入されるようにするにはどうすればいいのでしょうか? ひとつ方法を思い付き実際やってみて今のところうまくいってはいるのですが、私が採択した方法だと少々問題があります。 exe起動時にレコードをソート、idのフィールドで一番値の大きい数値を取得し、新規作成時にはその値に+1してdbeditに挿入するようにしています。しかしこれだと、いくらidの値が小さいレコードを削除しても値の大きいレコードがある限り、新規作成時にidとして挿入される値は大きくなるばかりなのです。 稚拙な文章で申し訳ありませんが、お教えいただければと思います。 よろしくお願いします。
回答: 色々なdbでいわゆるオートナンバーフィールドで欠番が生じるのは同じようです。つまりお考えの筋道は主流である。 下記urlなど、ご参考にならないでしょうか? http://q.hatena.ne.jp/1189402025