1

我正在尝试将 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”行,它都可以正常工作。

我该如何克服这个问题?

4

1 回答 1

0

不要调用 CDSTab.EDIT,而是调用 CDSTab.INSERT 添加新行,仅当光标位于记录上时才调用 CDSTab.EDIT,并编辑该记录的值。

于 2009-04-21T16:06:13.413 回答