📄 0066.htm
字号:
<html>
<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>第四章:ADO存取数据时如何实现留言记录的分页显示</strong></big></p>
<table border="0" width="100%">
<tr>
<td width="100%"> <table border="0" width="100%">
<TBODY>
<tr>
<td height="2"><span class="text"> 我们知道:对于一个留言簿,如果我们只让上网者能看到自己的留言而看不到其他人的留言,那么这类留言簿也就只能适用于某些特殊的地方(例如“客户意见返馈表”或“投诉留言”之类的留言,因为假如你是老板的话,你也不会愿意将自己的“伤疤”随便揭开给人看)。因此我们必须令每一位上网者都能看到留言簿中的所有留言。为了提高页面的读取速度,我们将留言簿中的留言分成多页来显示,每页显示一定数目的留言数,譬如5条。<br>
讲了这许多,那么到底如何实现留言记录的分页显示功能呢?如果我们对ADO的Recordset对象清楚的话,其实实现起来并不难。因为进行ADO存取数据库时的分页显示,就是对Recordset的记录进行操作。因此在没讲解程序之前,我觉得很有必要先给大家介绍一下有关Recordset对象方面的知识。<br>
主要的ADO对象有三个:Connection、Command和Recordset。Connection对象能够建立数据与应用程序之间的联系,在建立联系后,Command和Recordset对象用来要求、存储或更新数据。Command对象主要担任数据库查询(Database
Query)的角色,而<br>
Recordset对象则是三者之中最为特别,功能亦最为强大,由数据取得的数据集合就存储于Recordset中,该返回的Recordset数据集合取得后再通过服务器端的脚本语言环境加于处理、分析、显示数据于客户浏览器上。<br>
现将Recordset对象所提供的所有内部属性与其功能简述罗列如下:<br>
AbsolutePage属性--目前的绝对数据页位置<br>
AbsolutePosition属性--目前的绝对数据位置<br>
ActiveConnection属性--与Connection、Command对象主动链接<br>
BOF属性--数据集的开头边界<br>
Bookmark属性--提供游标位置的书签功能<br>
CacheSize属性--Recordset内数据所暂存的内存大小<br>
CursorLocation属性--控制游标的类型为服务器端或客户端<br>
CursorType属性--控制如何由服务器端数据库取回数据<br>
EOF属性--记录集的结尾边界<br>
EditMode属性--控制目前数据的处理状态<br>
Filter属性--控制欲显示或隐藏的数据内容<br>
LockType属性--控制数据更新的模式<br>
MaxRecords属性--允许由服务器端取回的最大记录行数目<br>
PageCount属性--数据页总数<br>
PageSize属性--控制每一数据页内的记录行<br>
RecordCount属性--由服务器端取回的记录行总数<br>
Source属性--数据查询信息<br>
Status属性--最近一行数据处理后的状态或信息 </span></td>
</tr>
<tr>
<td height="24"><dl>
<dd align="left"><span class="text"><br>
在了解了Recordset对象的以上属性和方法后,我们开始来学习如何实现留言记录的分页显示功能。在以下的学习当中,前面几章已学过的知识我在这里就不再赘述,我们只在这里重点学习处理留言记录分页的page2.asp文件。</span></dd>
</dl>
</td>
</tr>
<tr>
<td height="20"><span class="text">< !--#include file="adovbs.inc" --> <br>
< !--#include file="self2.asp" --><br>
'调用adovbs.inc文件和留言页面self2.asp。<br>
'-=此处已略去Web页面的HTML代码,具体内容可下载源代码后查看=- <br>
< % <br>
Set conn = Server.CreateObject("ADODB.Connection") <br>
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & _
Server.MapPath("book2.mdb") <br>
'打开数据库book2.mdb并建立Recordset对象。<br>
Set rs = Server.CreateObject("ADODB.Recordset") <br>
sql = "Select * From GuestBook Order By 时间 DESC" <br>
'选取数据表GuestBook中的所有数据记录,并按时间顺序对其排序。<br>
rs.Open sql, conn, adOpenStatic<br>
'将数据记录打开成Recordset的adOpenStatic类型。<br>
<br>
Sub ShowOnePage( rs, Page )<br>
'利用Page参数来指定页码。<br>
rs.AbsolutePage = Page <br>
For iPage = 1 To rs.PageSize <br>
self2 rs <br>
rs.MoveNext <br>
If rs.EOF Then Exit For <br>
'如果显示的页码是最后一页,则该页的数据记录条数可能会不满5条,所以在这里要判断是否移过了整个数据记录的最末端。<br>
Next <br>
End Sub<br>
<br>
rs.PageSize = 5 <br>
'设置你一页要显示的多少条留言记录。<br>
Page = CLng(Request("Page")) <br>
If Page < 1 Then Page = 1 <br>
If Page >rs.PageCount Then Page = rs.PageCount<br>
ShowOnePage rs, Page<br>
'检查Request("Page")所读取的页码是否在有效的范围内。<br>
%><br>
<br>
< form action="page2.asp" method="GET" align="right">
< p><br>
< a href="guestbook2.htm">返回留言表单< /a>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -