本程序主要用到Connection、RecordSet這兩個對象,程序中的數(shù)據(jù)庫為Access庫,采用OLEDB方式連接庫。
這個東西是作為菜鳥的我弄的一個東西.
你可以對這個東西不屑一顧.但是請記住: 菜鳥也有這個權利把自己的心得體會附注文字貢獻出來.....當然,技術方面真的是好菜的..一些ASP中的比較正統(tǒng)的中規(guī)中矩的方法.我覺得這個東西可能對初學者有些幫助.......見笑了..
一個簡單的分頁教程:
<%
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 '每頁顯示記錄數(shù)
if Not IsEmpty(Request("Page")) then '如果PAGE已經(jīng)初始化...
Page = CInt(Request("Page")) '接收PAGE并化為數(shù)字型賦給PAGE變量
if Page > rs.PageCount then '如果接收的頁數(shù)大于總頁數(shù)
rs.AbsolutePage = rs.PageCount '設置當前顯示頁等于最后頁
elseif Page <= 0 then '如果page小于等于0
Page = 1 '設置PAGE等于第一頁
else
rs.AbsolutePage = Page '如果大于零,顯示當前頁等于接收的頁數(shù)
end if
End if
Page = rs.AbsolutePage
%>
<%
For i = 1 to rs.PageSize
if rs.EOF then
Exit For
end if '利用for next 循環(huán)依次讀出記錄
%>
上面的代碼只需要改動Rs.pagesize=5,把5改為你想顯示的記錄數(shù).比如說
改為10.那么每頁就是顯示10頁.還需要修改的是select語句.就是你要檢索的數(shù)據(jù)庫了.
也就是說放到任何一個系統(tǒng)中上面的代碼只需很小的改動都可以直接拿過來用.
然后:就是要循環(huán)讀出記錄的顯示內容了..............比如
<table width=50 border=1 align=center>
<tr>
<TD><% =rs("內容") %></td>
</tr>
</table>
<%
rs.MoveNext
next
%>
當然也可以改為response.write輸出.那是你的事了.你可以自由發(fā)揮版面樣式.
最后,添加"下一頁,上一頁"的鏈接:
<%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 %>
上面的代碼反正不管三七二十一只管復制粘貼.只需把"fenye.asp"改成你自己的文件名就可以了.隨便把這段代碼放在什么地方?就是你想讓它出現(xiàn)下一頁下一頁鏈接的地方吧.
最后.關閉記錄集釋放資源:
<%
rs.close
Set rs = Nothing
conn.close
set conn=nothing
%>