记录集分页 R e c o r d s e t对象
Pagesize 长整型 一个页面中的记录数1 0
PageCount 长整型 记录集的总页数
AbsolutePage 长整型 当前页码
本程序主要用到Connection、RecordSet这两个对象,程序中的数据库为Access库,采用OLEDB方式连接库。
简单的分页教程:
<%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source="& server.mappath("mdb.mdb")
conn.Open strcon
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from table order by id desc"
rs.Open sql, conn, 1
page=1 ' 设置变量PAGE=1
rs.PageSize = 5 '每页显示记录数
if Not IsEmpty(Request("Page")) then '如果PAGE已经初始化...
Page = CInt(Request("Page")) '接收PAGE并化为数字型赋给PAGE变量
if Page > rs.PageCount then '如果接收的页数大于总页数
rs.AbsolutePage = rs.PageCount '设置当前显示页等于最后页
elseif Page <= 0 then '如果page小于等于0
Page = 1 '设置PAGE等于第一页
else
rs.AbsolutePage = Page '如果大于零,显示当前页等于接收的页数
end if
End if
Page = rs.AbsolutePage
%>
<%
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if '利用for next 循环依次读出记录
%>
然后:就是要循环读出记录的显示内容了..............比如
<table width=50 border=1 align=center>
<tr>
<TD><% =rs("内容") %></td>
</tr>
</table>
<%
rs.MoveNext
next
%>
最后,添加"下一页,上一页"的链接:
<%if request("page")>1 then%>
<a Href="test.asp?Page=<% = 1%>">首页</a>
<a Href="test.asp?Page=<% =request("page") -1 %>">上一页</a>
<%end if %>
<%if request("page")<>rs.pagecount then %>
<a Href="test.asp?Page=<% =request("page") + 1%>">下一页</a>
<a Href="test.asp?Page=<% = rs.PageCount%>">尾页</a>
<% end if %>
最后.关闭记录集释放资源:
<%
rs.close
Set rs = Nothing
conn.close
set conn=nothing
%>