Delphi XE FDQuery.FetchOptions.RecordCountMode- 控制如何计数结果集中的记录

Delphi XE FDQuery.FetchOptions.RecordCountMode - 控制如何计数结果集中的记录

单元:FireDAC.Stan.Option.pas

原型:

TFDRecordCountMode = (cmVisible, cmFetched, cmTotal);
property RecordCountMode: TFDRecordCountMode read GetRecordcountMode write SetRecordCountMode stored IsRCMS default cmVisible;

描述:

控制如何计数结果集中的记录。使用RecordCountMode属性控制TFDDataSet如何对结果集中的记录进行计数。

cmVisible  

  • RecordCount返回当前可通过TDataSet导航界面访问的记录数。例如,用户可以使用关联的TDBGrid访问所有这些记录。
    • RecordCountMode跟踪删除/附加到数据集的记录。
    • 不适用于LDV模式下的TFDTable。
    • 没有开销。
    • 为最终用户提供方便的价值。

cmFetched

  • RecordCount返回当前时刻获取的记录数。
    • RecordCountMode跟踪删除/附加到数据集的记录。
    • 不适用于LDV模式下的TFDTable。
    • 没有开销。
    • 为当前数据集提供“权重”,而不是为最终用户提供方便的值。

cmTotal

  • RecordCount 返回所有记录数。它将由命令返回。例如:FireDAC发出:SELECT COUNT(*)FROM(<original SQL command text>)。
    • RecordCountMode不跟踪删除/附加到数据集的记录。要刷新RecordCountMode,请调用refresh方法。
    • 适用于LDV模式下的TFDTable。
    • 数据集打开时有开销。
    • 在数据集记录被删除/插入之前,提供几乎精确的记录数。

默认值为 cmVisible。 

注意:当RecordCountMode=cmTotal时,MySQL可能返回 "Commands out of sync; you can't run this command now"的错误。在这种情况下,要么将Mode设置为fmFetchAll,要么不使用cmTotal。

 

 

 

创建时间:2021.07.09  更新时间:

posted on 2021-07-09 15:25  滔Roy  阅读(753)  评论(0编辑  收藏  举报

导航