第一次寫這種貼子 :) 個人認為功能不錯,完全自創,絕無抄襲,若有雷同,純屬巧合! 說明: .pagesize '定義每頁顯示記錄數 .recordcount '記錄總數 .pagecount '總頁數 .absolutepage '當前頁碼(頁面) index.asp 未加入任何版面設計,故有點亂。功能俺也沒測試,理論上是可以實現的(除俺敲錯鍵)。…… index.asp示例程序如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% option explicit '強制要求定義變量 'on error resume next
dim page '定義頁碼變量 page=Request.QueryString("page") '獲取地址欄頁碼 if IsNumeric(page) then '頁碼為整數 page=cint(page) if page<1 then page=1 else page=1 end if
dim strSql '定義sql語句 'mtest 表名 'file1字段(這里例出一個字段,實際中一般是多個字段) strSql="select file1 from mtest"
dim objConn,strConn,objRs set objConn=server.CreateObject("ADODB.connection") strConn="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("db.mdb") objConn.Open strConn set objRs=server.CreateObject("ADODB.recordset") objRs.open strSql, objConn, 1,1
if objRs.eof or objRs.bof then '表內的記錄情況 '以下一段為及時關閉、釋放資源 objRs.close set objRs=nothing objConn.close set objConn=nothing response.write "未有數據" else objRs.pagesize=20 '一頁顯示的記錄數 dim intReCun,intPaCun intReCun=objRs.Recordcount '總記錄數 intPaCun=objRs.pagecount '總頁數 if page>intPaCun then page=intPaCun '當前頁碼于總頁數比較 objRs.absolutepage=page
response.write "共:"&intReCun&"頁 當前為:"&intPaCun&"頁" dim strFile1,i set strFile1=objRs("file1") '建立對象(這里例出一個字段,實際中一般是多個字段) i=1 ' 這里應該用對象 do while not objRs.eof and i<=20 '此時的20為是一頁顯示的記錄數objRs.pagesize response.write(strFile1 & "<br>") i=i+1 objRs.movenext '下移一位 loop ' 以下一段為及時關閉、釋放資源 objRs.close set objRs=nothing objConn.close set objConn=nothing set strFile1=nothing %>
<table> <form action="index.asp" method="get" name="PostTopic"> <tr> <td height="18" align="center"> <a href="index.asp">第一頁</a> <a href="index.asp?page=<%=page-1%>">上一頁</a> <input name="page" type="text" id="page" value="<%=page%>" size="6" maxlength="4"> <input name=cmdConfrom type=submit id="cmdConfrom" value= 提交 > <a href="index.asp?page=<%=page+1%>">下一頁</a> <a href="index.asp?page=<%=intPaCun%>">最后一頁</a> </td> </tr> </form> <% end if %>
|