【发布时间】:2015-06-16 15:30:21
【问题描述】:
我正在我的 KLOG 表中进行计算。 但是,我的 PRICES 表有我在 KLOG 表中计算所需的数据。
示例: KLOG 表有 PRICE_ID 字段(整数)。 PRICES 表也是如此。
所以我正在尝试做这样的事情(KLOG 表的 oncalculatefields ):
if KLOG.FieldByName('PRICE_ID') = 1 then begin
KLOG.FieldByName('calculated_field_value_1').Value := KLOG.FieldByName('calculated_field_value_2').Value +5;
然而,这 (+5) 是我的 PRICES 表中 PRICE_ID =1 的字段值 (BONUS)。
那么如何在 KLOG 表的 oncalculate 事件中引用此 BONUS 字段? 你可以使用 SELECT 吗?类似的东西:
KLOG.FieldByName('calculated_field_value_1').Value := KLOG.FieldByName('calculated_field_value_2').Value + (select BONUS from PRICES where PRICES.PRICE_ID = KLOG.PRICE_ID);
不确定我是否正确地写了这篇文章。
【问题讨论】:
-
能否将 BONUS 字段作为返回 KLOG 表数据的原始查询的一部分返回?
-
只需添加第二个查询并从您的 PRICES 表中查找 BONUS。在关闭和重新打开之前使用参数并检查 PRICE_ID 参数的现有值。
-
如果可能,请不要在客户端进行任何计算。几乎所有 DBMS 都是为服务器端的计算而开发的,并且不会干扰客户端 PC。
标签: delphi