heh

ADO存取数据库时如何分页显示(ASP版)(理论+实践)

参考:ASP基础教程:ADO存取数据库时如何分页显示

进行 ADO 存取数据库时的分页显示,其实就是对 Recordset 的记录进行操作。所以我们首先必须了解 Reordset 对象的属性和方法:

  1. BOF 属性:目前指标指到 RecordSet 的第一笔。
  2. EOF 属性:目前指标指到 RecordSet 的最后一笔。
  3. Move 方法:移动指标到 RecordSet 中的某一条记录。
  4. AbsolutePage 属性:设定当前记录的位置是位于哪一页 AbsolutePosition 属性:目前指标在 RecordSet 中的位置。
  5. PageCount 属性:显示 Recordset 对象包括多少“页”的数据。
  6. PageSize 属性:显示 Recordset 对象每一页显示的记录数。
  7. RecordCount 属性:显示 Recordset 对象记录的总数。

属性说明:

  1. BOF 与 EOF 都为 False:表示指标位于 RecordSet 的当中。
        BOF 为 True:目前指标指到 RecordSet 的第一笔记录。
        EOF 为 True:目前指标指到 RecordSet 的最后一笔记录。
    BOF 与 EOF 都为 True:在 RecordSet 里没有任何记录。
  2. 可以用 Move 方法移动指标到 RecordSet 中的某一笔记录,语法如下:   rs.Move NumRecords,Start
    (NumRecords”是一个正负数运算式,设定当前记录位置的移动数目;“start”是一个可选的项目,用来指定记录起始的标签。)

        MoveFirst 方法:将当前记录位置移至第一笔记录。
        MoveLast 方法:将当前记录位置移至最后一笔记录。
        MoveNext 方法:将当前记录位置移至下一笔记录。 MovePrevious 方法:将当前记录位置移至上一笔记录。
    Move [n] 方法:移动指标到第 n 笔记录, n 由 0 算起。

代码(最简单的分页,有待优化,学习下原理):

<%
set rs=server.CreateObject("ADODB.RecordSet")
rs.open
"select * from liuyan order by addtime desc",conn,1,1
page
=request.querystring("page")
if isnumeric(page)=false then page=1

If page
="" or page<1 Then page=1
recordcountnum
=Rs.recordcount
Rs.pagesize
= 1
If page
-Rs.pagecount>0 Then page=Rs.pagecount
Rs.absolutepage
=page

for i=1 to rs.PageSize
if rs.EOF or rs.BOF then exit for
%>

这里是循环的内容
<%=rs("id")%><br />

<%
rs.movenext
next
%>
<br />
当前:
<%=page%>/<%=rs.PageCount%>|<%=recordcountnum%>条记录
<a href="index.asp?page=1">首页</a>
<a href="index.asp?page=<%=page-1%>">上一页</a>
<a href="index.asp?page=<%=page+1%>">下一页</a>
<a href="index.asp?page=<%=rs.PageCount%>">尾页</a>

 <select name="sel_page" onChange="javascript:location=this.options[this.selectedIndex].value;">
      <%
       for i = 1 to rs.PageCount
       if i = intpage then%>
       <option value="index.asp?page=<%=i%>" selected><%=i%></option>
     <%else%>
       <option value="index.asp?page=<%=i%>"><%=i%></option>
        <%
        end if
        next
        %>
     </select>


posted on 2008-11-12 18:06  imwho  阅读(226)  评论(0编辑  收藏  举报

导航