捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  粤ICP备10103342号-1 DELPHI盒子 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 盒子检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
使用原生ADO对数据进行分页显示
关键字:数据库 ADO Pages Recordset 分页显示
来 自:原创
平 台:Win9x,Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:中级 完成时间:2006/7/29
发布者:vvyang 发布时间:2006/7/29
编辑器:DELPHI7 语  种:简体中文
分 类:数据库 下载浏览:2879/14338
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
1、这个小程序演示了如何使用原生ADO对查询出的数据进行分页显示;
2、我们平时看到的网页新闻列表就是分页显示的结果,是VBScript编写网页的一项基本技能,不过到了Delphi中都成了稀罕东西了;
3、一些朋友也研究过这个问题,不少是用MoveBy加计算或复杂的SQL语句实现的,不过研究得再深入也不能改变ADO本身的运行机制;分页功能是ADO自带的,既然它本身有这个功能,何乐而不为?

注:为了大家使用方便,此程序用到的原生ADO仍然采用了Delphi包装过的_Recordset;对原生ADO感兴趣的朋友可以到我这篇烂文章里看看:http://www.delphibbs.com/delphibbs/dispq.asp?lid=3047846
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
使用原生ADO对数据进行分页显示
vvyang 2006/7/29 下+2879/浏+14339 评+41
分页显示技术 (StringGrid)
endo 2005/7/28 下+3661/浏+18796 评+29
相关评论
共有评论41条 当前显示最后6条评论
kinneng 2006/8/6 5:02:13
我要的就是VCL那种效果,原生ADO要得到这效果,就要加上很多楼主觉得讨厌的东西,
还是省点心用VCL算了,以免客户觉得软件弱智不收货,就麻烦了,Eof是出界标志,
将当前行移到最后一行,并不触发Eof,只有继续往下移,出错之后,Eof才会触发,
Bof 也是这样。
kinneng 2006/8/6 5:24:31
to cjrb
用StringGrid显示十万条可以做到跟十条的时间没有分别,关键就是当前显示什么数据
就填充什么数据进StringGrid的数据缓冲区Stringlist,这点DBGrid做的最好,就算是
亿万条数据,它也只取当前显示的几条,速度快慢是数据库的事。
jasonmale 2006/8/8 17:22:15
为了探讨楼主技术方面的可行性,我把我原先使用的方法修改成使用楼主的方法(基本上使用的都是ADO原生代码,我也下了一个ADO帮助文件研究了一下),然后在后台建立一个表,插入了100多万笔记录,当在浏览第一页时(我基本不去取pageCount,仅仅设定PageSize,取PageCount会更慢,这里仅仅测试OPEN),系统战用内存还能接收,虽然比较大。但速度真的不能忍受,除非把后台数据服务器修改为IBM小型机,并且内存足够大。
所以我个人认为,对于小型数据资源,楼主介绍使用ADO自己的分页技术也可行,但对于海量数据处理、服务器比较差或者网络连接比较少(非INTERNET)的的情况,就谨慎使用了。

顺便说一句,大家讨论技术可以,就事论事。当然楼主批评鄙人的一些观点,我接受,因为可能老了,往往会用经验去下结论,这是不对的,我们学习技术,要多去实践,才能在实践中学会很多。感谢各位的技术探讨,永不认输的精神值得我们学习,我们用提倡用实践去证明一切可能。
共勉!
lijianfu 2006/8/25 15:46:34
都是MS惹的祸,用MYSQL作库算了!
lczh8420 2007/5/16 16:03:41
这样效果是一样的.没有达到分页的最终目的.
因为你使用的方法其实已经一次性把10万条数据取出到adotable了.所以在取出10万条记录时候所花的时间是不变的.而且取出10万条数据到应用端的内存消耗一样.只是显示的方式不一样罢了(修改pagesize的效果相同).
最好的办法是使用存储过程写分页.
litterhawk 2007/8/4 14:19:32
C/S和B/S还是有很多不同的,在delphi里你可以用Visual ListView的方式去分页啊,每次调用SQL语句取得客户端能看到的一部分。这样可以吗?那么用dbexpress呢?
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 技术支持:深圳市麟瑞科技有限公司 1999-2024 V4.01 粤ICP备10103342号-1 更新RSS列表