首页 > 其他分享 >delphi FireDAC 分页查询

delphi FireDAC 分页查询

时间:2023-09-16 18:45:11浏览次数:28  
标签:20 分页 FDQuery1 delphi FireDAC RecsSkip RecsMax SELECT

FireDAC 分页查询

代码

分页查询

procedure TForm1.Button1Click(Sender: TObject);
begin
  //设置每页返回的记录数(获取的最大记录数)
  FDQuery1.FetchOptions.RecsMax := 20;
  //获取第1页的数据(从0开始,相当于SELECT * FROM tceshi LIMIT 20 OFFSET 0)
  FDQuery1.FetchOptions.RecsSkip := 0;
  //查询数据
  Memo1.Lines.Add('第1页的数据-------------------------');
  FDQuery1.Open('SELECT * FROM tceshi');
  while not FDQuery1.Eof do
  begin
    Memo1.Lines.Add(FDQuery1.Fields[0].AsString);
    FDQuery1.Next;
  end;
  Memo1.Lines.Add('第2页的数据-------------------------');
  //更改RecsSkip前使用
  FDQuery1.Disconnect;
  //获取第2页的数据(从20开始,相当于SELECT * FROM tceshi LIMIT 20 OFFSET 20)
  FDQuery1.FetchOptions.RecsSkip := 20;
  //查询数据
  FDQuery1.Open('SELECT * FROM tceshi');
  FDQuery1.First;
  while not FDQuery1.Eof do
  begin
    Memo1.Lines.Add(FDQuery1.Fields[0].AsString);
    FDQuery1.Next;
  end;
end;

方法

FireDAC.Stan.Option.TFDFetchOptions.RecsMax

property RecsMax: Integer;

Unit

FireDAC.Stan.Option

控制要获取的最大记录数。限制从单个结果集中获取的记录数。默认值为 -1

要更改已准备好的数据集的 RecsMax,必须首先调用 Disconnect 方法。

FireDAC 仅返回第一个 RecsMax 记录,其他记录将被丢弃。 -1表示没有限制。

根据不同的 DBMS,RecsMaxRecsSkip 可以转换为 SELECT 语句子句(TOP、LIMIT 等),限制服务器端的结果集。如果 DBMS 不支持此类子句,则会在客户端上执行限制。

FireDAC.Stan.Option.TFDFetchOptions.RecsSkip

property RecsSkip: Integer;

Unit

FireDAC.Stan.Option

控制要获取的第一条记录的偏移量。指定要从单个结果集开头跳过的记录数。默认值为 -1

要更改已准备好的数据集的 RecsSkip,必须首先调用 Disconnect 方法。

根据不同的 DBMS,RecsMaxRecsSkip 可以转换为 SELECT 语句子句(TOP、LIMIT 等),限制服务器端的结果集。如果 DBMS 不支持此类子句,则会在客户端上执行限制。

FireDAC.Comp.DataSet.TFDDataSet.Disconnect

procedure Disconnect(AAbortJob: Boolean = False);

Unit

FireDAC.Comp.DataSet

中止当前操作并释放此数据集使用的 DBMS 资源。调用后,数据集处于 dsInactive 状态,并且 Prepared 属性设置为 False

标签:20,分页,FDQuery1,delphi,FireDAC,RecsSkip,RecsMax,SELECT
From: https://www.cnblogs.com/txgh/p/17707098.html

相关文章

  • 分页查询
    PageInfo(github)  导入依赖<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.2</version></dependency>  controller@ApiOpera......
  • 攻城狮讲故事(二)-分页小事故
    2023年9月15日21点45分,没错,我还在加班,本来快到6点可以下班走人了,另外一个部门的人突然群里发消息,和我联调功能。功能的作用是他们给我们用文件推送100万人员信息,我们把100万人员订单信息查出来,再推送给他们,双方规定每个文件最大2万条。遇到的问题是:我给对方推送了591955条数据,但是......
  • 分页查询我的课表
                       ......
  • 设计分页查询我的课程接口
             ......
  • 将List对象数据集合转为PageInfo分页结构
    之前用到一个项目就是将List数据转成PageInfo的分页结构手写的一个转换格式应该还有别的解决办法好像应该可以直接转后面有时间再研究研究importcom.github.pagehelper.PageInfo;/***@Description:缓存数据分页用来替代pagehelp自动分页方法*@Param:[page页码......
  • oracle 分页 sql
    select*from(select*from(selectt.*,rownumlinenumfromgal_messagest)rwherer.linenum<200)awherea.linenum>100Note:一定要给rownum一个别名linenum,否则r.rownum或a.rownum会出错.OracleConnectBy用法参照:[url]http://www.cublog.cn/u1/54706/showart......
  • Lucene分页方式(转)
    推荐的做法是为每一次分页导航都执行一次新的查询。因为Hits中保存的并不是真正的Document,因此可以通过HIts.doc(index)的方式取出在一定范围内的Document。在获得Hits后可以用类似下面的方法进行分页处理:privateListprocessHits(Hitshits,intstartIn......
  • 创建mixin.js文件,引入表格分页
    //前端分页consttableFrontEndPaging={data(){return{currpage:1,page_size:10,page_list:[10,20,50],currentPage:null,header_cell_style:{background:'#C0C4CC',color:'#303133',borderColor:&#......
  • 使用element-plus组件在vue中引入分页功能
    1、组件的引入<el-paginationbackgroundlayout="prev,pager,next"page-size="6":total="60"></el-pagination>2、存在问题就是,现在页码并不能与每页的内容相互对应解决方式:page用来表示确认每一页是否点击到,正式......
  • 排序和分页
       ......