什么是 ADO 存取时的分页显示?如果你使用过目前众多网站上的电子公告板程序的话,如果你要使用网速稳定的互联网,这样就可以有效地使用ADO 存取的相关说明。。。。
《动态网站设计十八般武艺 -- 篇》一文从***期至今已和朋友们一起度过了大半个年头,相信通过在这一段时间中的学习、实践到再学习、再实践,大家已经能够熟练运用 ASP 的内建对象、 ActiveX 组件去编写一些基本的 ASP 应用程序。
从我收到的朋友们的来信中可以明显的感觉到,大家的 ASP 功力正不断地提升。最近很多朋友来信希望我写一些 ASP 在现实运用中的实例。因此,从本期开始我决定将《动态网站设计十八般武艺 --ASP 篇》的定位从介绍和学习 ASP 基础知识转向到 ASP 实际运行的探讨和深化。应朋友们的要求,在本期中我将给大家着重谈一谈“ADO 存取时如何分页显示”的问题。
这就是数据库查询的分页显示,如果你还不明白,去看看 yahoo 等搜索引擎的查询结果就会明白了。 那么究竟如何才能做到将的查询结果分页显示呢?其实方法有很多,但主要有两种:
一、将中所有符合查询条件的记录一次性的都读入 recordset 中,存放在内存中,ADO 存取然后通过 ADO Recordset 对象所提供的几个专门支持分页处理的属性: PageSize( 页大小 )、 PageCount( 页数目 ) 以及 AbsolutePage( 绝对页 ) 来管理分页处理。
二、根据客户的指示,每次分别从符合查询条件的记录中将规定数目的记录数读取出来并显示。
两者的主要差别在于前者是一次性将所有记录都读入内存然后再根据指示来依次做判断分析从而达到分页显示的效果,而后者是先根据指示做出判断并将规定数目的符合查询条件的记录读入内存,从而直接达到分页显示的功能。#t#
我们可以很明显的感觉到,当中的记录数达到上万或更多时,***种方法的执行效率将明显低于第二种方法,因为当每一个客户查询页面时都要将所有符合条件的记录存放在内存中,然后在进行分页等处理,如果同时有超过 100 个的客户在线查询,那么 应用程序的执行效率将大受影响。
但是,当服务器上数据库的记录数以及同时在线的人数并不是很多时,ADO 存取在执行效率上是相差无几的,此时一般就采用***种方法,因为***种方法的 ASP 程序编写相对第二种方法要简单明了得多。