通过 ASP 记录进行分页
- 作者:zhaozj
- 发表时间:2020-12-23 11:02
- 来源:未知
J.D. Meier
目录
1、简介2、问题3、解决方案 | 4、示例代码5、分析6、结论 |
简介
在 Active Server Pages (ASP) 应用程序中显示大型记录集,很可能是您熟悉的一个问题。本文对此问题及其解决方案和示例代码进行了深入探讨,这个示例代码经过简单修改,就可以应用于您的具体情况。该示例代码被设计成服务器端的解决方案,它与浏览器无关。另外,我会指出您在设计自己的解决方案时需要考虑的问题。
问题
您的查询返回了一个大型记录集。需要提供一个简便方法来浏览这些结果,即在每页上只显示结果的子集。要有效的完成此项工作,需要对 ActiveX(R) 数据对象 (ADO) 和数据库如何协同工作有深入的了解。
解决方案
如何将您的记录集分成“页”,而不用大型的结果?所谓页,基本上就是您指定应当显示在一起的许多记录。例如,如果您的记录集中有 100 条记录,可能每页显示 10 条记录。
ADO 提供了两种方法,PageSize 和 AbsolutePage。这些方法使您能够指定每页要显示的记录数,以及将游标定位于一页的开始。
打开记录集之后,基本步骤就是:
为该记录集指定 PageSize。它表示每页要显示的记录数。 指定该记录集的 AbsolutePage。这将记录指针移到页的序列中,给定页的开始处。 显示记录页。要完成这一步,您要用设置的 PageSize 次数循环整个记录集,或者直到到达文件的末尾。示例代码
下列示例代码说明了页面建立过程。借助它,您可以建立自己的解决方案的原型。在您自己的代码中,确保要完成下列步骤:
添加错误处理。 添加对查询返回的记录数的限制。 用条件过滤记录。(如,建立 WHERE 子句)。 使用存储过程或视图。一定要通过更改连接字符串和 SQL 语句来修改我的示例代码,以指向您的数据库。由于代码使用 ADO 常数,如 adUserServer,一定要在您的 Global.asa 文件中引用 ADO TypeLibrary,或在 ASP 页中包括 ADOVBS.INC 文件。请注意,在将项目引用设置为 Microsoft ADO 时,Visual InterDev(R) 会为您自动生成 TypeLibrary 引用。
注意该示例有两种方法可以提供导航栏:
ShowNavBar。 它为用户提供了带着记录计数一起跳到指定页的方法(