【发布时间】:2010-10-14 15:53:40
【问题描述】:
得到一个具有 OnNewRecord 事件的 ADOQuery。
在过程中,我尝试将数据自动添加到另一个表中。数据是几行,在取消时需要在 clientDataSet 中处理。
就地
OtherAdoQuery.insert;
我收到 ADOQuery 未能将 null 插入非 null 字段的错误。我处于插入模式,但我从未要求 DELPHI 发布!我不知道它为什么发帖。
编辑:你能帮我找到关于这个问题的提示吗?
更多说明:
在
ADOQuery.onNewRecord();
开始
客户数据集.插入; //这里是为 ADOQueryPost 发布的。 ClientDataSet 处于浏览状态的位置
结束;
编辑:
这个错误没有意义!查看堆栈跟踪:
- 事后
- 新记录
- myFunc
myFunc 确实会导致带有插入的 NewRecord。
【问题讨论】:
-
没有必要投票关闭它。它可能没有以最好的方式表达,但很清楚他想要帮助的 OP 的问题是什么。
-
AdoQuery 不支持批量更新/插入。在能够处理另一个插入或编辑调用之前,它需要一个帖子。此外,如果您的 OtherAdoQuery 连接到 ClientDataSet,则帖子将发送到 ClientDataSet,而不是数据库本身(至少在您使用批量更新时)。
标签: delphi events tadoquery tadotable