首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TClientDataSet / TDataSetProvider的哪些属性决定了TIBDataSet应该自动生成SQL,而不应该忽略TIBDataSet?

TClientDataSet / TDataSetProvider的哪些属性决定了TIBDataSet应该自动生成SQL,而不应该忽略TIBDataSet?
EN

Stack Overflow用户
提问于 2022-07-12 09:24:55
回答 1查看 60关注 0票数 0

我正在使用Delphi 6进行编程(但我猜22年后的Delphi 11.1也是如此),我使用的是标准的组件链:

ModifySQL

  • TDataSetProvider

  • TClientDataSet

  • TIBDataSet (来自Delphi Interbase-Express)具有自定义(由我自己编写)SelectSQL/
  • /Insert代码和SelectSQL/RefreshSQL代码包含多个连接在一起的表,但是有一个基表在中更新了某些字段

我正在使用与Firebird3.0服务器的连接,通常在其他地方一切正常。但我有一种情况,就是在出现错误的地方发布更新:

代码语言:javascript
复制
Dynamic SQL Error
SQL error code = -206
Column unknown
REASON
At line 2, column 2

这真的很奇怪,因为我的TIBDataSet有ModifySQL,而且它是完全正确的。据我所知,然后TIBDataSet尝试自动生成某些更新命令,然后到达无效命令。我的意图是撤销更新的自动生成,并要求TIBDataSet使用ModifySQL。但是,这3个组件控件/决定TIBDataSet不应该尝试生成用于更新的SQL的属性是什么?

EN

回答 1

Stack Overflow用户

发布于 2022-07-12 09:47:15

TDataSetProvider.ResolveToDataSet是正确的答案--如果希望使用分配给TIBDataSetModifySQLInsertSQL的定制编写的SQL,则应该将其设置为True。更多文件可在以下网址查阅:

https://docwiki.embarcadero.com/Libraries/Sydney/en/Datasnap.Provider.TDataSetProvider.ResolveToDataSet

False是默认值,在这种情况下,TClientDataSet/TDataSetProvider尝试输入一些自动生成的SQL,它们可能会严重失败。

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

https://stackoverflow.com/questions/72949991

复制
相关文章

相似问题

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