2009-02-25 59 views
1

我想在DBX4使用自动递增字段与黑色的鱼数据库 我有一个简单的表结构:如何使用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”行。

我该如何克服这个问题?

回答

0

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

相关问题