zoukankan      html  css  js  c++  java
  • 使用 FireDAC 分页查询

    FireDAC 原生支持分页查询,不用写分页查询SQL,只要设置 FetchOptions.Recskip (跳过的行数)和 RecsMax(分页大小)允许通过结果集进行分页。打开游标后,将跳过第一个 RecsSkip 。其余的记录,最多 RecxMax 将被获取。当 Prepared 后更改 RecsSkip 和 RecsMax属性值不起作用。因此,在获取下一行页之前,该命令必须未准备,然后再次执行。例如:

      // 分页大小为 20,查询第一页
      FDQuery1.FetchOptions.RecsSkip := 0;
      FDQuery1.FetchOptions.RecsMax := 20;
      FDQuery1.Open;
      // process rows
    
      // 查询第 2 页
      FDQuery1.Disconnect;
      FDQuery1.FetchOptions.RecsSkip := 20;
      FDQuery1.Open;
      // process rows
    
      // 查询第 3 页
      FDQuery1.Disconnect;
      FDQuery1.FetchOptions.RecsSkip := 40;
      FDQuery1.Open;
      // process rows

    我们可以简单封装程一个分页查询过程,其中 PageSize 为分页大小, PageIndex 页码 ,0 为第一页 ,RecsSkip 可以通过  PageSize * PageIndex 计算出来,如下:

    procedure TForm1.PagingQuery(Query: TFDQuery; PageSize, PageIndex: Integer);
    begin
      Query.Disconnect;
      Query.FetchOptions.RecsSkip := PageSize * PageIndex;
      Query.FetchOptions.RecsMax := PageSize;
      Query.Open;
    end;

  • 相关阅读:
    web 开发之酷炫--- 酷炫展示
    攻城狮的体检
    科技发烧友之智能路由
    科技发烧友之3d吉米投影
    科技发烧友之单反佳能700d中高端
    上海
    视频会议
    机器学习之信息
    filter
    centos 20T硬盘(超过16T)分区
  • 原文地址:https://www.cnblogs.com/rtcmw/p/13813546.html
Copyright © 2011-2022 走看看