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 中
相关文档:
环境:数据库 oracle 64bit 系统 win2008 64bit IIS7 在asp 网页中使用ado连接数据库 ODBC用的是Microsft ODBC for oracle
情况:在网页的查询语句中不含中文的可以,只要语句中含有中文就会返回错误结果。
如:select '一二三' from dual;这样的语句 返回回来就是???
还要说明的是oracle的字符集是AMERICAN_AMERICA.U ......
'--------------------------------------------------------------
'ASP版HashMap实现
'该实现存储数据为有序数据,类似Java中的LinkedHashMap
'--------------------------------------------------------------
Class HashMap
dim arr()
dim arr_len
'构造函数
private Sub Clas ......
安装过程顺畅,ASP页面在其它环境下能正常调试,文件路径配置正确情况下,不能调试ASP 页面,参考一下内容
第一
修改端口配置 一些优化和防护软件对端口有特殊的“照顾”
第二
常见的“500内部服务器错误”万金油:
1、卸载“internet信息服务(IIS)”,
2、看看事件查看器里有没 ......
<%
response.Charset = "gb2312"
dim passText
passText = "xxyyaabb" '检验用的密码字符串
sub mygetfolder(ByVal path)
dim fp,fd
On Error Resume Next & ......