我有一个主从数据集:订单和订单项,两个数据集都设置为缓存更新。问题是在保存订单项时我想更新数据库中的不同表,因此需要进行一些手动工作。我尝试通过检查来做到这一点
MTOrderItem.UpdatesPending
这部分工作正常,但是当我尝试使用循环遍历数据集中的项目时
with MTOrderItem do
begin
First;
while NOT Eof do
.....
仅获取所选订单(主数据集)的过滤订单项。如何循环遍历所有修改的详细信息(订单项目)记录
最佳答案
通常,当主当前记录发生更改时,详细信息数据集将重新打开,因此详细信息仅包含当前主记录的记录。
您应该加载所有详细记录并使用“过滤器”和“已过滤”属性手动对其进行过滤。
例如
Master.OnScroll
Details.Filter = 'MasterID='+Master.FieldByName(ID).AsString
Details.Filtered := True
关于具有缓存更新的 Delphi 主从数据集 - 如何循环遍历详细数据集中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631653/