网络编程
位置:首页>> 网络编程>> Asp编程>> asp如何分页显示数据库查询结果?

asp如何分页显示数据库查询结果?

 来源:asp之家 发布时间:2009-11-22 19:23:00 

标签:分页,数据库,查询,asp

我们以用户查询语句为 https://www.aspxhome.com/chunfeng.asp为例来查询用户资料将从数据库Contact1中查询并显示用户资料。

假设前面已建立了数据库连接Aconnection,看看我们下面分页代码和说明:

<% 
if Request.QueryString("PageNumber").count > 0 then 
' 指定页号的参数PageNumber.如果指定页号,则以指定页号为依据 
PageNumber = Request.QueryString("PageNumber")(1)
else
PageNumber = 1
' 如没指定页号,缺省为1
end if
RecordNumberPerPage = 10 
' 每页显示10条记录
 set ARecordSet = Server.CreateObject("ADODB.RecordSet")
ARecordSet.open "select * from contact1",AConnection,1
' 执行查询,注意Open语句中指定的第三个参数
ARecordSet.PageSize = RecordNumberPerPage
' 指定每页记录条数 
ARecordSet.AbsolutePage = PageNumber 
' 指定当前页号

Response.Write "<br>每页有"&ARecordSet.PageSize&"条记录"
Response.Write "<br>共有"&ARecordSet.PageCount&"页"
Response.Write "<br>这是第"&PageNumber&"页"
Response.Write "<Table border=1>"
' 以表格形式显示查询结果
Response.Write "<TR>"
For FieldNo = 0 to ARecordSet.Fields.count - 1 
Response.Write "<TD>"&ARecordSet( FieldNo ).Name&"</TD>"
Next
Response.Write "</TR>"
' 显示字段名
RecordCounter = 0
Do while not ARecordSet.eof
RecordCounter = RecordCounter + 1
' 显示查询
if RecordCounter > RecordNumberPerPage then
' 如果要显示的记录数大于每页记录数目,则停止显示
Exit do
end if
 Response.Write "<TR>"
For FieldNo = 0 to ARecordSet.Fields.count - 1 
Response.Write "<TD>"&ARecordSet( FieldNo )&"</TD>"
Next
Response.Write "</TR>"
' 显示一条记录
 ARecordSet.MoveNext
Loop
' 转向下一条记录
Response.Write "</Table>"
if PageNumber > 1 then 
' 如果不是第一页,则提示上一页
Response.Write "<p><A href = chunfeng.asp?PageNumber="&(PageNumber-1)&">[上一页]</a>"
end if
if not ARecordSet.eof then 
' 如果还有记录没有显示,则提示下一页
Response.Write "<A href = chunfeng.asp?PageNumber="&(PageNumber+1)&">[下一页]</a>"
end if
ARecordSet.close
AConnection.close
%>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com