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

发布于 2024-07-14 22:38:30 字数 846 浏览 10 评论 0原文

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

我怎样才能克服这个问题?

I am trying to use auto incremental fields in dbx4 with a black fish database
I have a simple table Structure:

    CREATE TABLE tblTABname (
    ID int AUTOINCREMENT Primary Key,
    Description varchar(100) NOT NULL );

Before Open I am doing the :

qryTAB.FieldByName( ‘ID’).AutoGenerateValue := arAutoInc;
cdsTAB.FieldByName( ‘ID’).AutoGenerateValue := arAutoInc;

After Open:

qryTab.FieldByName('ID').ProviderFlags := [pfInWhere, pfInKey];
cdsTab.FieldByName('ID').ProviderFlags := [pfInWhere, pfInKey];

If I do:

cdsTAB.Edit;
cdsTAB.FieldByName(‘Description’).value := ‘Test’;
cdsTAB.Post;

Or if I use this in a DBGRID, it fails with the error :

“Field ‘ID’ must have a value”

Witch should have been generated .

If I run an INSERT Query it works fine, with or without the “AutoGenerateValue := arAutoInc” lines.

How can I overcome this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱要勇敢去追 2024-07-21 22:38:30

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

Instead of calling CDSTab.EDIT, call CDSTab.INSERT to add a new row, only call CDSTab.EDIT when your cursor is on a record already, and to edit the value of that record.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文