【发布时间】:2016-07-15 07:33:08
【问题描述】:
在我的项目(Delphi 10 Seattle)中,我正在慢慢地从 ClientDataSet 迁移到 FireDAC FDQuery 组件。
我经常使用 CDS 的一个技巧是检查范围内的记录数。
即:
CDS.SetRange([Value1][Value2]);
k := CDS.RecordCount;
case k of
1 : DoSingleThing;
2 : DoDoubleThing;
else
BailOnWrongCount;
end;
因为我需要同时提供整个数据集,所以我在第一次打开查询时使用 FetchOptions.Mode := fmAll。
执行FDQuery.SetRange([Value1][Value2]); 然后调用FDQuery.RecordCount 总是返回整个数据集的记录计数(根据 fmAll) - 而不是当前范围。
我不得不手动循环遍历范围计数记录。
有没有更简单的方法来获取当前范围内的记录数?
【问题讨论】:
标签: delphi firedac record-count