asp 利用ADO 实现数据分页



<!--#include file="adovbs.inc"-->
<html>
<body>

<%
Dim rsData
Dim intPage
Dim intTotalPages
Dim fldF
Dim intRec
Dim strQuote
Dim strScriptName
Dim strConn
Dim adUserClient


strConn = "Provider = **;Data Source=**;Initial Catalog=**;User Id=;Password=chinasoft"

strQuote = Chr(34) &apos;The double quote  character
Set rsData = Server.CreateObject("ADODB.Recordset")

&apos;set the page size
rsData.PageSize = 10
rsData.CursorLocation = adUseClient

&apos;Open the data
rsData.Open "City",strConn,adOpenForwardOnly,adLockReadOnly,adCmdTable


intPage=1
&apos;Get the requested data
if Request.QueryString("page") = "" then
    intPage = 1
else
    &apos;Protest against out of range pages,in case of a user specified page number
    if intPage<1 then
        intPage = 1
    else
        if intPage>rsData.PageCount then
            intPage = rsData.PageCount
        else
            intPage = CInt(Request.QueryString("page"))
        end if
    end if    
end if

&apos;set the page
rsData.AbsolutePage = intPage

&apos;Start building the table
Response.Write "<p><table border=1><thead><tr>"
for each fldF in rsData.Fields
    Response.Write "<td>" & fldF.Name & "</td>"
Next
Response.Write "</tr></thead><tbody>"

&apos;Now loop through the page
for intRec=1 to rsData.PageSize
    if not rsData.EOF then
        Response.Write "<tr>"
        for each fldF in rsData.Fields
            response.write "<td>" & fldF.Value & "</td>"
        next
        Response.Write "</tr>"
        rsData.MoveNext
    end if
next
Response.Write "</tbody></thead></table></p>"

&apos;now some paging controls
strScriptName = Request.ServerVariables("SCRIPT_NAME")
Response.Write "&nbsp;<a href=" & strQuote &  _
        "?page=1" & strQuote & ">First Page</a>"
&apos;Only give an active previous page if there are previous pages
if intPage =1 then
    Response.write "&nbsp;<span>Previous Page</span>"
else
    Response.write "&nbsp:<a href=" & strQuote &  _
                    "?page=" & intPage-1 & strQuote & ">Previous Page</a>"
end if

&apos;only give an active next page if thereare more pages
if intPage = rsData.PageCount then
    Response.write "&nbsp;<span>Next Page</span>"
else
    Response.write "&nbsp:<a href=" & strQuote & strScriptName & _
                    "?page=" & intPage+1 & strQuote & ">Next Page</a>"
end if

&apos;The last page
Response.Write "&nbsp;<a href=" & strQuote & strScriptNmae & _
        "?page=" & rsData.PageCount & strQuote & ">Last Page</a>"
        
        
&apos;And clear up
rsData.Close
Set rsData = nothing
%>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值