为了我自己的利益,我可能太聪明了:-/
我有一张桌子,里面有一些压力测量数据。这些始终存储为PSI,但用户可以选择单选按钮在PSI和BAR之间切换。
为了保持代码干净并将工作推送到数据库中,我为configuration
项创建了第二个表,只有一行。当用户切换无线组时,一列psi_bar_conversion
将采用1或14.5的值。
在delphi中,绑定到db网格的查询是用如下语句设置的
SELECT ROUND(inlet_waterPressure_psi /
(SELECT psi_bar_conversion FROM configuration),
(SELECT float_precision FROM configuration))
AS inlet_waterPressure,
FROM measurements
所有这些都很好(也许我解释得太多了)。
我要做的只是在函数中添加一些代码,该函数处理单选按钮切换,以强制我的数据库网格刷新其内容,因为我刚刚更新了
configuration.psi_bar_conversion
的值(但没有直接的查询字段,也没有直接的数据源字段)。我应该调用数据库网格、查询和数据rouce的
Refresh()
或Invalidate()
或SomeOtherFunction()
-吗?这就是让我困惑的地方。提前谢谢你的帮助…
最佳答案
您需要关闭查询,然后重新打开查询以使psi_bar_conversion
和float_precision
中的更改生效。两个子选择(对于configuration
中的值)仅在执行查询时发生。
关于database - 如何强制更新数据库网格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13638537/