我们知道:对于一个留言簿,如果我们只让上网者能看到自己的留言而看不到其他人的留言,那么这类留言簿也就只能适用于某些特殊的地方(例如“客户意见返馈表”或“投诉留言”之类的留言,因为假如你是老板的话,你也不会愿意将自己的“伤疤”随便揭开给人看)。因此我们必须令每一位上网者都能看到留言簿中的所有留言。为了提高页面的读取速度,我们将留言簿中的留言分成多页来显示,每页显示一定数目的留言数,譬如5条。 讲了这许多,那么到底如何实现留言记录的分页显示功能呢?如果我们对ado的recordset对象清楚的话,其实实现起来并不难。因为进行ado存取数据库时的分页显示,就是对recordset的记录进行操作。因此在没讲解程序之前,我觉得很有必要先给大家介绍一下有关recordset对象方面的知识。 主要的ado对象有三个:connection、command和recordset。connection对象能够建立数据与应用程序之间的联系,在建立联系后,command和recordset对象用来要求、存储或更新数据。command对象主要担任数据库查询(database query)的角色,而 recordset对象则是三者之中最为特别,功能亦最为强大,由数据取得的数据集合就存储于recordset中,该返回的recordset数据集合取得后再通过服务器端的脚本语言环境加于处理、分析、显示数据于客户浏览器上。 现将recordset对象所提供的所有内部属性与其功能简述罗列如下: absolutepage属性–目前的绝对数据页位置 absoluteposition属性–目前的绝对数据位置 activeconnection属性–与connection、command对象主动链接 bof属性–数据集的开头边界 bookmark属性–提供游标位置的书签功能 cachesize属性–recordset内数据所暂存的内存大小 cursorlocation属性–控制游标的类型为服务器端或客户端 cursortype属性–控制如何由服务器端数据库取回数据 eof属性–记录集的结尾边界 editmode属性–控制目前数据的处理状态 filter属性–控制欲显示或隐藏的数据内容 locktype属性–控制数据更新的模式 maxrecords属性–允许由服务器端取回的最大记录行数目 pagecount属性–数据页总数 pagesize属性–控制每一数据页内的记录行 recordcount属性–由服务器端取回的记录行总数 source属性–数据查询信息 status属性–最近一行数据处理后的状态或信息 |
|
< !–#include file=”adovbs.inc” –> < !–#include file=”self2.asp” –> 调用adovbs.inc文件和留言页面self2.asp。 -=此处已略去web页面的html代码,具体内容可下载源代码后查看=- < % set conn = server.createobject(“adodb.connection”) conn.open “driver={microsoft access driver (*.mdb)};dbq=” & _ server.mappath(“book2.mdb”) 打开数据库book2.mdb并建立recordset对象。 set rs = server.createobject(“adodb.recordset”) sql = “select * from guestbook order by 时间 desc” 选取数据表guestbook中的所有数据记录,并按时间顺序对其排序。 rs.open sql, conn, adopenstatic 将数据记录打开成recordset的adopenstatic类型。 sub showonepage( rs, page ) rs.pagesize = 5 < form action=”page2.asp” method=”get” align=”right”> < p> |