荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: tiny (Tiny && Caiddy), 信区: Homepage
标  题: ASP教程:ADO 存取数据库时如何分页显示(1)
发信站: 荔园晨风BBS站 (Fri Nov  9 18:07:22 2001), 转信

什么是 ADO 存取数据库时的分页显示?如果你使用过目前众多网站上的电子公告
板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般不会
将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定数目
的帖子数,譬如 20 条。想不想了解如何实现分页显示?请看本文!

  《动态网站设计十八般武艺 --ASP 篇》一文从第一期至今已和朋友们一起度
过了大半个年头,相信通过在这一段时间中的学习、实践到再学习、再实践,大家
已经能够熟练运用 ASP 的内建对象、 ActiveX 组件去编写一些基本的 ASP 应用
程序。从我收到的朋友们的来信中可以明显的感觉到,大家的 ASP 功力正不断地
提升。最近很多朋友来信希望我写一些 ASP 在现实运用中的实例。因此,从本期
开始我决定将《动态网站设计十八般武艺 --ASP 篇》的定位从介绍和学习 ASP 基
础知识转向到 ASP 实际运行的探讨和深化。应朋友们的要求,在本期中我将给大
家着重谈一谈“ADO 存取数据库时如何分页显示”的问题。
  什么是 ADO 存取数据库时的分页显示?如果你使用过目前众多网站上的电子
公告板程序的话,那你应该会知道电子公告板程序为了提高页面的读取速度,一般
不会将所有的帖子全部在一页中罗列出来,而是将其分成多页显示,每页显示一定
数目的帖子数,譬如 20 条。这就是数据库查询的分页显示,如果你还不明白,去
看看 yahoo 等搜索引擎的查询结果就会明白了。

  那么究竟如何才能做到将数据库的查询结果分页显示呢?其实方法有很多,但
主要有两种:

  一、将数据库中所有符合查询条件的记录一次性的都读入 recordset 中,存
放在内存中,然后通过 ADO Recordset 对象所提供的几个专门支持分页处理的属
性: PageSize( 页大小 )、 PageCount( 页数目 ) 以及 AbsolutePage( 绝对页
 ) 来管理分页处理。

  二、根据客户的指示,每次分别从符合查询条件的记录中将规定数目的记录数
读取出来并显示。

  两者的主要差别在于前者是一次性将所有记录都读入内存然后再根据指示来依
次做判断分析从而达到分页显示的效果,而后者是先根据指示做出判断并将规定数
目的符合查询条件的记录读入内存,从而直接达到分页显示的功能。

  我们可以很明显的感觉到,当数据库中的记录数达到上万或更多时,第一种方
法的执行效率将明显低于第二种方法,因为当每一个客户查询页面时都要将所有符
合条件的记录存放在服务器内存中,然后在进行分页等处理,如果同时有超过 100
 个的客户在线查询,那么 ASP 应用程序的执行效率将大受影响。但是,当服务器
上数据库的记录数以及同时在线的人数并不是很多时,两者在执行效率上是相差无
几的,此时一般就采用第一种方法,因为第一种方法的 ASP 程序编写相对第二种
方法要简单明了得多。

  在这里作者就以我们常见的 ASP BBS 程序为例,来给大家分析一下如何在
BBS 程序里实现分页显示功能,由于我们一般使用的 BBS 程序的数据库记录数和
同时访问的人数都不会太多,所以以下程序实例是使用的先前所介绍的第一种分页
显示方法。

   进行 ADO 存取数据库时的分页显示,其实就是对 Recordset 的记录进行操
作。所以我们首先必须了解 Reordset 对象的属性和方法:
   BOF 属性:目前指标指到 RecordSet 的第一笔。

   EOF 属性:目前指标指到 RecordSet 的最后一笔。

   Move 方法:移动指标到 RecordSet 中的某一条记录。

   AbsolutePage 属性:设定当前记录的位置是位于哪一页
AbsolutePosition 属性:目前指标在 RecordSet 中的位置。

   PageCount 属性:显示 Recordset 对象包括多少“页”的数据。

   PageSize 属性:显示 Recordset 对象每一页显示的记录数。

   RecordCount 属性:显示 Recordset 对象记录的总数。

   下面让我们来详细认识一下这些重要的属性和方法


--
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.158]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店