ブラックフィッシュデータベースでdbx4の自動インクリメンタルフィールドを使用しようとしています。単純なテーブル構造があります。
CREATE TABLE tblTABname (
ID int AUTOINCREMENT Primary Key,
Description varchar(100) NOT NULL );
開く前に私はやっています:
qryTAB.FieldByName( ‘ID’).AutoGenerateValue := arAutoInc;
cdsTAB.FieldByName( ‘ID’).AutoGenerateValue := arAutoInc;
開封後:
qryTab.FieldByName('ID').ProviderFlags := [pfInWhere, pfInKey];
cdsTab.FieldByName('ID').ProviderFlags := [pfInWhere, pfInKey];
私が行った場合:
cdsTAB.Edit;
cdsTAB.FieldByName(‘Description’).value := ‘Test’;
cdsTAB.Post;
または、これをDBGRIDで使用すると、次のエラーで失敗します。
「フィールド'ID'には値が必要です」</p>
魔女が生成されているはずです。
INSERTクエリを実行すると、「AutoGenerateValue:= arAutoInc」行の有無にかかわらず、正常に機能します。
どうすればこの問題を克服できますか?