秋·风

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  278 随笔 :: 0 文章 :: 308 评论 :: 20万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
近日有网友说lazarus 自带的DB使用Filtered后RecordCount返回的记录数是全部记录数,经实测确实存在这个问题,看官网的论坛也有人反馈这个问题,不过官方一直没处理。
可以使用Helper来解决这个问题:
复制代码
TDatasetHelper = class helper for TDataset
public
    function GetRecordCount:Longint;
end;


function TDatasetHelper.GetRecordCount:Longint;
var
  prevRecNo: Longint;
begin
  if self.Active then
  begin
     DisableControls;
     prevRecNo := RecNo;
     Result := 0;
     First;
     while not(EOF) do
     begin
       Inc(Result);
       Next;
     end;
     RecNo := prevRecNo;
     EnableControls;
  end;
end;
复制代码

 

posted on   秋·风  阅读(162)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示