<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      使用ASP完成對表的分頁瀏覽(上)

      [摘要]大家都知道,ASP有著強大的數據庫操作能力,這與她能方便的調用ActiveX對象是密不可分的。下面我給大家介紹一種ASP利用ADO對象實現對數據庫記錄分頁顯示的方法。以下代碼均在WIN98+PWS+MSACCESS環境下通過! ≡谶@里我主要通過ADO對象集中的Recordset對象來實現各種數據...
      大家都知道,ASP有著強大的數據庫操作能力,這與她能方便的調用ActiveX對象是密不可分的。下面我給大家介紹一種ASP利用ADO對象實現對數據庫記錄分頁顯示的方法。以下代碼均在WIN98+PWS+MSACCESS環境下通過。

        在這里我主要通過ADO對象集中的Recordset對象來實現各種數據庫操作的。先介紹幾個用于分頁顯示的Recordset屬性。

          PageSize:每頁顯示的記錄數。

          PageCount:根據用戶設好的PageSize和表中的總記錄數,系統自動算出總頁數。

          RecordCount:表中的總記錄數。

          AbsolutePage:表示當前頁碼。如將AbsolutePage屬性設為3,則當前記錄移至第3頁第1條(也就是第31條)。

        看到Recordset有了這幾個屬性后,相信大家也都覺得做一個分頁顯示的程序是很簡單的。下面講一下思路,所有實現這一功能的代碼都放在display.asp中,按執行的順序分別是:打開數據庫及表、讀取用戶要求的顯示方式、設定好PageSize和AbsolutePage、將內容輸出到瀏覽器、設定好導航條。以下是代碼:



      <%'---------------------------打開數據庫及表
      set conn=server.createobject("ADODB.Connection")
      filepath=server.mappath("abc.mdb") '-------假設數據庫文件是"abc.mdb"
      conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & filepath
      set rs=server.createobject("ADODB.Recordset")
      rs.open "main",conn,3,2 '-------假設表的名字是"main"
      %>
      <%'---------------------------讀取用戶要求的顯示方式(通過參數傳遞)
      line=cint(request("line"))
      page=cint(request("page"))
      %>
      <%'---------------------------按用戶要求設定好顯示方式
      rs.PageSize=line
      rs.AbsolutePage=page
      %>
      <%'---------------------------顯示內容%>
      <table width="100%" border="1">
      <tr>
      <%for i=0 to rs.Fields.Count-1%>
      <td><%=rs.Fields(i).name%></td>
      <%next%>
      </tr><%'-------以上部分顯示表頭,即字段名%>
      <%for i=1 to rs.PageSize%>
      <tr>
      <%for j=0 to rs.Fields.Count-1%>
      <td><%=rs.Fields(j).value%></td>
      <%next%>
      </tr>
      <%rs.movenext%>
      <%if rs.eof then exit for%>
      <%next%><%'-------以上部分顯示表的內容%>
      </table>

      <%'---------------------------導航條%>
      <table width=100% ><tr>
      <td>
      <%if page<>1 then%>
      <a href=display.asp?page=1&line=<%=line%>>第一頁</a>
      <%else%>第一頁<%end if%>

      </td>
      <td>
      <%if page>1 then%>
      <a href=display.asp?page=<%=page-1%>&line=<%=line%>>前一頁</a>
      <%else%>前一頁<%end if%>
      </td>
      <td>
      <%if page<rs.PageCount then%>
      <a href=display.asp?page=<%=page+1%>&line=<%=line%>>下一頁
      <%else%>下一頁<%end if%>
      </td>
      <td>
      <%if page<>rs.PageCount then%>
      <a href=display.asp?page=<%=rs.PageCount%>&line=<%=line%>>最后一頁</a>
      <%else%>最后一頁<%end if%>
      </td><%'-------以上四項都需要進行判斷:如果在第一頁就不提供“第一頁”和“前一頁”的鏈接
      '-------如果在最后一頁就不提供“最后一頁”和“后一頁”的鏈接%>
      <td>
      <form method="POST" action="display.asp?line=<%=line%>">
      請輸入頁碼:<input type="text" name="page" size="3" value="<%=page%>">
      </form>
      </td>
      <td>
      <form method="POST" action="display.asp?page=<%=page%>">
      請設定每頁<input type="text" name="line" size="3" value="<%=line%>">行
      </form>
      </td><%'-------因為兩個表單都只有一個表單域,所以沒有提供發送按鈕,直接打回車就行了%>
      <td>
      第<%=page%>頁/總<%=rs.PageCount%>頁
      </td>

      </tr></table>





        這只是一個最基本的程序,沒有進行優化處理,也還有一些bug,下面我們一起來使它更“完美”一些。



      日韩精品一区二区三区高清