首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在AutoInc字段中,将AnyDAC应用程序迁移到FireDAC失败

在AutoInc字段中,将AnyDAC应用程序迁移到FireDAC失败
EN

Stack Overflow用户
提问于 2021-03-11 00:06:57
回答 1查看 81关注 0票数 1

我已经将一个AnyDAC应用程序迁移到了FireDAC上,但是我无法使用它的Autoinc字段。

在Postgre SQL上,ID字段(主键)被定义为nextval('llistapanelspuzzle_id_seq'::regclass),BIGSERIAL的默认值,因此服务器会自动设置它的值。

该列被AnyDAC识别为TAutoincField,并且工作正常,但是当我现在在FireDAC上打开该表时,它失败了,报告说找到的字段是一个TLargeIntField。我将持久字段更改为TLargeIntField,但现在在Delphi上插入记录时,我无法从服务器获得新值,它会使数据集保留0值,并且当我添加第二个记录时,它会引发Key Violation (两个主键为0的记录)。

当AutoInc字段被识别为FireDAC字段时,您知道如何在FireDAC- PostgreSQL上定义这些字段吗?

更新:我已经向UpdateOptions.AutoIncFields添加了ID,但它似乎没有改变任何东西。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-11 19:11:46

看起来您必须激活FDConnection上的ExtendedMetada flag才能让FireDAC自动识别PostgreSQL Autoinc列。

现在它可以正常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66568533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档