Adodb.recordset分页

Adodb.recordset分页是指利用Adodb.recordset实现数据库的分页。本节将对此分页方法的实现进行详细阐述。
RecordSet是ADO的内置对象之一,主要功能是对数据库进行操作。通过RecordSet,可以实现对数据库记录的各种操作。在学习RecordSet分页时,应首先了解AbsolutePage属性和PageSize属性。
1.、PageSize属性
PageSize属性的功能是决定多少条记录组成一个“页”,即每页的最多纪录数。PageSize能够设定并建立一个页的大小,从而允许使用AbsolutePage属性移到其他逻辑页的第一条纪录。PageSize属性可以随时设定。
2、AbsolutePage属性
AbsolutePage属性的功能是设定当前纪录的位置于哪一个页的页数编号,即通常说的当前页数AbsolutePage属性是以1开头的。若当前纪录为RecordSet的第一行纪录,则AbsolutePage为1。
 另外,RecordSet的其他属性和常用方法如下。
●        RecordSetCount属性:返回纪录集中的记录数。
●        LockType:设定记录集锁定方式。
●        CursorType:记录集游标类型。
●        BOF、EOF:返回记录集游标位置。
●        MoveNext、Movepre:将记录集游标向后、向前移动一个位置。
●        MoveFirst、MoveNext:将记录集游标移动到最前或最后。
 
在现实中,RecordSet主要应用于站点数据方面的操作。下面将通过一个具体实例讲解利用Adodb.recordset实现分页过程,本实例主要包括两个文件,分别是分页文件adodb.asp和数据库接收文件conn.asp。
数据库结构:
该实例使用Access数据库,名称为“asp.mdb”
                 表news的设计结构
字段名 类型 是否主键 说明
id 自动编号 是 新闻编号
title 备注 否 标题
comment 备注 否 内容
news_time 文本 否 添加时间
 
数据库连接文件conn.asp的功能是建立和数据库的连接。文件代码如下所示:
 <%
Dim ConnectionString
ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("asp.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open ConnectionString  
%>
 
分页文件adodb.asp的功能是将数据库内的新闻标题按分页的形式显示出来。文件代码如下所示:
 <%@LANGUAGE="VBSCRIPT " CODEPAGE="936"%>
<!--#include file=conn.asp-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
body {
       background-color: #99CCFF;
}
-->
</style></head>
 
<body>
 <%  
 sql="select * from news"  
 set rs=server.createobject("adodb.recordset")
 rs.open sql,conn,3,1
 if not isempty(request("page")) then        
      pagecount=cint(request("page"))        
      else        
      pagecount=1  
      end   if  
      n=1  
      rs.pagesize=8    
      rs.AbsolutePage=pagecount  
      filename="adodb.asp"  
 %>                  
 <table width="311" border="0" align="center">
    <%
       do   while   not   rs.eof
        %>
       <tr>
      <td width="305"><%=rs("title")%></td>
    </tr>
        <%  
        rs.movenext  
        n=n+1      
        if   n>rs.pagesize then exit do
              loop
        %>
 </table>
 <table   width="535"   border="0"   cellspacing="0"   cellpadding="0"   align="center">  
                  <form   action="<%=filename%>"   method="post">  
                      <tr   bgcolor="#B0CCDC">    
                          <td   height="35"   bgcolor="#FFFFFF">    
                              <div   align="center">   <font   size="2"   FONT-SIZE: 12pt; COLOR: black;">黑体"   class="a">共   <b><%=rs.recordcount%></b>   条记录,   页次:   <b><font   color=red><%=pagecount%></font>/<%=rs.pagecount%></b>,    
                      <%   if   pagecount=1   and   rs.pagecount<>pagecount   and   rs.pagecount<>0   then%>  
                                  <a   href="<%=filename%>?page=<%=cstr(pagecount+1)%>"   class="a">[下一页]</a>    
                                  <%   end   if   %>  
                      <%   if   rs.pagecount>1   and   rs.pagecount=pagecount   then   %>  
                                  <a   href="<%=filename%>?page=<%=cstr(pagecount-1)%>"   class="a">    
                                  [上一页]</a>    
                                  <%end   if%>  
                      <%   if   pagecount<>1   and   rs.pagecount<>pagecount   then%>  
                                  <a   href="<%=filename%>?page=<%=cstr(pagecount-1)%>"   class="a">    
                                  [上一页]</a>   <a   href="<%=filename%>?page=<%=cstr(pagecount+1)%>"   class="a">    
                                  [下一页]</a>    
                                  <%   end   if%>  
                      &nbsp;   直接到第    
                      <select   name="page">  
                          <%for   i=1   to   rs.pagecount%>  
                          <option   value="<%=i%>"><%=i%></option>  
                          <%next%>  
                      </select>  
                      页   
                      <input   type="submit"   name="go"   value="Go">  
                      </font></div>  
                      </td>  
                      </tr>  
                  </form>  
</table>  
 
</body>
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值