程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> rs的pagesize屬性

rs的pagesize屬性

編輯:ASP技巧

在了解了Recordset對象的以上屬性和方法後,我們來考慮一下,如何運用它們來達到我們分頁顯示的目的。首先,我們可以為PageSize屬性設置一個值,從而指定從記錄組中取出的構成一個頁的行數;然後通過RecordCount屬性來確定記錄的總數;再用記錄總數除以PageSize就可得到所顯示的頁面總數;最後通過AbsolutePage屬性就能完成對指定頁的訪問。好象很並不復雜呀,下面讓我們來看看程序該如何實現呢?

子的自動編號;“s我們建立這樣一個簡單的BBS應用程序,它的數據庫中分別有以下五個字段:“ID”,每個帖ubject”,每個帖子的主題;“name”,加帖用戶的姓名;“email”,用戶的電子郵件地址;“postdate”,加帖的時間。數據庫的DSN為“bbs”。我們將顯示帖子分頁的所有步驟放在一個名為“ShowList()”的過程中,方便調用。程序如下:
'----BBS顯示帖子分頁----
<% Sub ShowList() %>
<%
PgSz=20 '設定開關,指定每一頁所顯示的帖子數目,默認為20帖一頁
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT * FROM message order by ID DESC"
'查詢所有帖子,並按帖子的ID倒序排列
Conn.Open "bbs"
RS.open sql,Conn,1,1
If RS.RecordCount=0 then
     response.write "<P><center>對不起,數據庫中沒有相關信息!</center></P>"
  else
    RS.PageSize = Cint(PgSz) '設定PageSize屬性的值
    Total=INT(RS.recordcount / PgSz * -1)*-1 '計算可顯示頁面的總數
    PageNo=Request("pageno")
    if PageNo="" Then
       PageNo = 1
        else
       PageNo=PageNo+1
       PageNo=PageNo-1
        end if
    ScrollAction = Request("ScrollAction")
    if ScrollAction = " 上一頁 " Then
    PageNo=PageNo-1
    end if   
    if ScrollAction = " 下一頁 " Then
    PageNo=PageNo+1
    end if
    if PageNo <1 Then
    PageNo = 1
    end if
    n=1
    RS.AbsolutePage = PageNo
    Response.Write "<CENTER>"
    position=RS.PageSize*PageNo
    pagebegin=position-RS.PageSize+1
    if position <RS.RecordCount then
      pagend=position
    else 
      pagend= RS.RecordCount
        end if 
   Response.Write "<P><font color='Navy'><B>數 據 庫 查 詢 結 果:</B>"
   Response.Write "(共有"&RS.RecordCount &"條符合條件的信息,顯示"&pagebegin&"-"&pagend&")</font></p>"
   Response.Write "<TABLE WIDTH=600 BORDER=1 CELLPADDING=4 CELLSPACING=0 BGCOLOR=#FFFFFF>"
   Response.Write "<TR BGCOLOR=#5FB5E2><FONT SIZE=2><TD><B>主 題</B></TD><TD><B>用 戶</B></TD><TD><B>Email</B></TD><TD><B>發 布 日 期</B></TD></FONT><TR BGCOLOR=#FFFFFF>"
   Do while not (RS is nothing)
    RowCount = RS.PageSize
    Do While Not RS.EOF and rowcount > 0
     If n=1 then
         Response.Write "<TR BGCOLOR=#FFFFFF>"
     ELSE
         Response.Write "<TR BGCOLOR=#EEEEEE>"
     End If
     n=1-n %>
     <TD><span ><A href='vIEw.ASP?key=<% =RS("ID")%>'><% =RS("subject")%></A></span></td>
     <TD><span ><% =RS("name")%></A></span></td>
    <TD><span ><a href="mailto:<% =RS("email")%>"><% =RS("email")%></a></span> </TD>
    <TD><span ><% =RS("postdate")%></span> </td>
    </TR>
    <%
    RowCount = RowCount - 1
    RS.MoveNext
    Loop
    set RS = RS.NextRecordSet
    Loop
      Conn.Close
      set rs = nothing
      set Conn = nothing
%>
</TABLE>
<FORM METHOD=GET ACTION="list.ASP">
<INPUT TYPE="HIDDEN" NAME="pageno" VALUE="<% =PageNo %>">
<%
  if PageNo > 1 Then
    response.write "<INPUT TYPE=SUBMIT NAME='ScrollAction' VALUE=' 上一頁 '>"
  end if
  if RowCount = 0 and PageNo <>Total then
    response.write "<INPUT TYPE=SUBMIT NAME='ScrollAction' VALUE=' 下一頁 '>"
  end if
    response.write "</FORM>"
End if
%>
<% End Sub %>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved