gpt4 book ai didi

delphi - 将可写的虚拟字段添加到可更新的 TClientDataset

转载 作者:行者123 更新时间:2023-12-03 18:19:26 25 4
gpt4 key购买 nike

我有一个数据库表,我需要在其中插入记录。我正在使用可更新的 TClientDataset,一切正常。

现在,我需要添加一个虚拟字段;不是计算出来的。我可以在其中写入行状态的一个字段(只是我将在 ApplyUpdates 之前使用的一些信息),但它不是数据库表的一部分。

我看过 this illuminating post ,但添加的字段是计算出来的,无法更新和保留信息。这对我来说不好。

我尝试从数据库选择中添加一个“虚拟字段”并修复 ProviderFlags 以删除 pfUpdate。

cds.CommandText := 'SELECT 1 AS DUMMY , CUSTOMERS.* FROM CUSTOMERS';
cds.Open;
cds.FieldByName('DUMMY').ProviderFlags := [];

我在 Provider.pas 中看到,在构建插入 sql 之前,检查了 ProviderFlags。这确实应该有效,问题是 ProviderFlags 似乎没有根据我上面的陈述进行更新。

请问,您知道如何动态添加一个可写但随后被 delphi 数据库更新过程忽略的字段吗?

我正在使用 delphi 7。

谢谢你的帮助。

最佳答案

将该字段设为 InternalCalc 字段并将其 ProviderFlags 设置为 []。这使该字段对您的应用程序可写,但在更新基础数据库时会跳过该字段。

关于delphi - 将可写的虚拟字段添加到可更新的 TClientDataset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10312966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com