如何在DBF4中使用BlackFish的整数自动增量字段?

时间:2009-02-25 17:36:18

标签: delphi auto-increment dbexpress blackfish

我正在尝试在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'必须具有值”

应该已经生成了女巫。

如果我运行INSERT查询,它可以正常工作,无论是否有“AutoGenerateValue:= arAutoInc”行。

我该如何克服这个问题?

1 个答案:

答案 0 :(得分:0)

不是调用CDSTab.EDIT,而是调用CDSTab.INSERT添加新行,只在光标已经在记录上时调用CDSTab.EDIT,并编辑该记录的值。

相关问题