欢迎光临
我们一直在努力

循序渐进学做留言簿 – ADO存取数据时如何实现留言记录的分页显示-ASP教程,数据库相关

建站超值云服务器,限时71元/月

 

  我们知道:对于一个留言簿,如果我们只让上网者能看到自己的留言而看不到其他人的留言,那么这类留言簿也就只能适用于某些特殊的地方(例如“客户意见返馈表”或“投诉留言”之类的留言,因为假如你是老板的话,你也不会愿意将自己的“伤疤”随便揭开给人看)。因此我们必须令每一位上网者都能看到留言簿中的所有留言。为了提高页面的读取速度,我们将留言簿中的留言分成多页来显示,每页显示一定数目的留言数,譬如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属性–最近一行数据处理后的状态或信息   

   在了解了recordset对象的以上属性和方法后,我们开始来学习如何实现留言记录的分页显示功能。在以下的学习当中,前面几章已学过的知识我在这里就不再赘述,我们只在这里重点学习处理留言记录分页的page2.asp文件。
< !–#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 )
利用page参数来指定页码。
rs.absolutepage = page
for ipage = 1 to rs.pagesize
self2 rs
rs.movenext
if rs.eof then exit for
如果显示的页码是最后一页,则该页的数据记录条数可能会不满5条,所以在这里要判断是否移过了整个数据记录的最末端。
next
end sub

rs.pagesize = 5
设置你一页要显示的多少条留言记录。虚拟主机
page = clng(request(“page”))
if page < 1 then page = 1
if page >rs.pagecount then page = rs.pagecount
showonepage rs, page
检查request(“page”)所读取的页码是否在有效的范围内。
%>

< form action=”page2.asp” method=”get” align=”right”> < p>
< a href=”guestbook2.htm”>返回留言表单< /a>
< %
if page <> 1 then
response.write “< a href=page2.asp?page=1>第一页< /a>”
response.write “< a href=page2.asp?page=” & (page-1) & “>上一页< /a>”
end if
if page <> rs.pagecount then
response.write “< a href=page2.asp?page=” & (page+1) & “>下一页< /a>” response.write “< a href=page2.asp?page=” & rs.pagecount & “>最后一页
< /a>”
end if
%>
页数:< font color=”#ff0000″>< %=page%>/< %=rs.pagecount%>< /font>
< %=page%>表示当前所在的页码,< %=rs.pagecount%>表示数据页的总数。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 循序渐进学做留言簿&nbsp;–&nbsp;ADO存取数据时如何实现留言记录的分页显示-ASP教程,数据库相关
分享到: 更多 (0)