CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  数据库相关

如何对DataSet数据集进行分页读取数据

楼主hfyang9095(嘿嘿哈)2005-10-27 18:12:02 在 Delphi / 数据库相关 提问

比如:DataSet从数据库读取2000条记录,前台界面DBGrid每页20条分页显示这2000条记录。这样的功能如何实现啊,兄弟们帮帮忙啊! 问题点数:100、回复次数:9Top

1 楼exinke(新克)回复于 2005-10-27 18:44:07 得分 0

这个在网页中有用,在程序界面中有何用呢?  
  顶   ,   小弟也想知道.Top

2 楼konhon(优华)回复于 2005-10-27 19:47:39 得分 10

ADODataSet的CacheSizeTop

3 楼hfyang9095(嘿嘿哈)回复于 2005-10-27 20:14:53 得分 0

To   konhon(优华)   :  
  能详细说说吗,最好能有个例子,CacheSize的用法到底是怎样实现的?他是限制取2000条数据,还是限制DBgrid每次取20条记录啊Top

4 楼pilicat(Delphi迷)回复于 2005-10-27 21:34:03 得分 20

请参阅:  
  http://tech.sina.com.cn/c/2001-07-31/4790.html  
   
  ---------------------------------------------------  
   
  http://kmok.cnTop

5 楼xiaocuo_zrf(小错——淫雄所贱略同)回复于 2005-10-28 09:25:27 得分 45

那还不如用ClientDataSet的   ds1.GetNextPacket呢,Top

6 楼huangmai(黄麦)回复于 2005-10-28 11:57:16 得分 15

先取得总记录条数   ,这里用   AllRecCount  
   
  NeedSelCount   :=   (AllRecCount   div   20)  
   
  if   NeedSelCount   =   0   then   //那么就是   总记录小于20咯。  
  begin  
      //直接select   显示  
  end  
  else  
  begin  
  For   循环变量   :=   0   to   NeedSelCount    
  select   Top   20   *   from      
  (  
  select   *     from   表名    
  where   条件  
  )   as   查询结果假名    
  where   主键<(select   min(主键)   from   (select   top   '+inttostr(循环变量*20)+'   主键   from    
  (    
  select   *     from   表名  
  where   条件  
    )   as   查询结果假名    
  order   by   主键   desc  
  )   as   查询结果假名2  
  )   order   by   主键   desc  
  end;  
   
  你看看Top

7 楼konhon(优华)回复于 2005-10-28 16:58:31 得分 10

設置ADODataSet的CacheSize:=100  
   
  一次只取100條Top

8 楼hfyang9095(嘿嘿哈)回复于 2005-10-28 17:28:39 得分 0

xiaocuo_zrf(女巫手上的猫)   可以实现,其他的有点复杂了,呵呵  
  结贴Top

9 楼zgengle(什么都不会)回复于 2006-02-20 12:22:53 得分 0

markTop

相关问题

  • 读取dataset里的数据
  • 使用dataGrid或者repeater分页是否会每次读取全部的数据
  • 使用DataSet读取XML数据
  • 请问如何读取DataSet的数据?
  • DataSet读取xml数据问题
  • 急,大家帮忙看看下面有什么错误(分页中读取数据库中的记录问题)
  • 请教!从数据库中读取图片后如何进行排列和分页!
  • 从数据库中读取记录,如何自动分页,如每20条分一次页?
  • 从数据库中读取记录,如何自动分页,如每20条分一次页?
  • 如何从数据库中读取数据(不用dataset)

关键词

  • 数据
  • 记录
  • select

得分解答快速导航

  • 帖主:hfyang9095
  • konhon
  • pilicat
  • xiaocuo_zrf
  • huangmai
  • konhon

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo