<%
Sub ChangePage(url)
'讀取通用JavaScript腳本代碼
Response.Write "<script language=javascript src=JS/inc.js></script>"
'如果沒有頁碼輸入,則當前頁默認爲第一頁,否則當前頁爲輸入的頁碼
If Request("CurrentPage")="" Or IsNumeric(Request("CurrentPage"))=False Then
objRS.AbsolutePage=1
Else
objRS.AbsolutePage=CLng(Request("CurrentPage"))
End If
'頁碼跳轉的表單
Response.Write "<form method=Get name=MyForm>"
If objRS.PageCount=1 then
Response.Write("[第一頁] [上一頁] [下一頁] [最後一頁] ")
Else
If objRS.AbsolutePage=1 then
Response.Write("[第一頁] [上一頁] ")
Response.Write("[<a href=javascript:PageNext()>下一頁</a>] ")
Response.Write("[<a href=javascript:PageLast()>最後一頁</a>] ")
Else
If objRS.AbsolutePage=objRS.PageCount then
Response.Write("[<a href=javascript:PageFirst()>第一頁</a>] ")
Response.Write("[<a href=javascript:PagePrior()>上一頁</a>] ")
Response.Write("[下一頁] [最後一頁] ")
Else
Response.Write("[<a href=javascript:PageFirst()>第一頁</a>] ")
Response.Write("[<a href=javascript:PagePrior()>上一頁</a>] ")
Response.Write("[<a href=javascript:PageNext()>下一頁</a>] ")
Response.Write("[<a href=javascript:PageLast()>最後一頁</a>] ")
End If
End If
End If
'創建下拉列表框,用於選擇瀏覽頁碼
Response.Write("第<select size=1 name=CurrentPage onchange=PageCurrent('"&url&"')>")
For i=1 to objRS.PageCount
If objRS.AbsolutePage=i then
Response.Write("<option selected>"&i&"</option>") '當前頁碼
Else
Response.Write("<option>"&i&"</option>")
End If
Next
Response.Write("</select>頁 ")
End Sub
%>
pagesize=分頁中記錄條數
<!--#include file="conn.asp"-->
<%
sql="select id,title form table order by id desc"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
RS.pagesize=15 '每頁記錄數
page=cint(request("page"))
if page="" or page=0 then
page=1
else
page=page
end if
rs.absolutepage=page
for i=1 to rs.pagesize
if rs.bof or rs.eof then
exit for
end if
%>
<P><%=rs("id")%> <%=rs("title")%></P>
<%
rs.movenext
next
%><br/>
<p>總共有 <font color="#FF0000"><%=rs.recordcount%></font> 條記錄
<%
If Page <= 1 Then
Response.Write "首頁 上一頁 "
End If
If Page > 1 Then
Response.Write "<A HREF=photo.asp?Page=1>首頁</A> "
Response.Write "<A HREF=photo.asp?Page=" & (Page-1) & ">上一頁</A> "
End If
If Page < RS.PageCount Then
Response.Write "<A HREF=photo.asp?Page=" & (Page+1) & ">下一頁</A> "
Response.Write "<A HREF=photo.asp?Page=" & RS.PageCount & ">末頁</A> "
End If
If Page >= RS.PageCount Then
Response.Write "下一頁 末頁 "
End If
%>
<select name="Page" size="1" onchange="window.location.href=this.value" class="user">
<%For j=1 to rs.pagecount%>
<option value="photo.asp?page=<%=j%>"<%if j=Page then%>selected<%end if%>><%=j%></option>
<%Next%>
</select> 第<%=Page%>頁/共<%=RS.PageCount%>頁</P>
完整存儲過程分頁
面的SET ROWCOUNT n語句:
declare @pagesize int --每頁紀錄數
declare @reccounts int --數據庫總的紀錄數
declare @pagecounts int --根據每頁紀錄數和數據庫總的紀錄數返回的總頁數
declare @intBeginID int --特定頁的第一條(最小)紀錄
declare @intRowCount int --臨時變量
declare @currentpage int --當前頁
select @pagesize=10 --每頁10條紀錄
select @currentpage=5 --設置當前頁
select @reccounts=count(1) from Procurement_Requisition --返回所有紀錄數
if @reccounts/@pagesize*@pagesize=@reccounts
set @pagecounts=@reccounts/@pagesize --返回總頁數
else
set @pagecounts=@reccounts/@pagesize+1 --返回總頁數
set @intRowCount=(@currentpage-1)*@pagesize+1 --特定頁的第一條(最小)紀錄在所有紀錄中的位置(使用了order by)
SET ROWCOUNT @intRowCount
select @intBeginID=pr_no from Procurement_Requisition order by pr_no
SET ROWCOUNT @pagesize
print @intBeginID
select * from Procurement_Requisition where pr_NO>=@intBeginID order by pr_no
SET ROWCOUNT 0