`
java032
  • 浏览: 84149 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Adodb.recordset分页

ASP 
阅读更多

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>

分享到:
评论
1 楼 java032 2011-09-01  
注: 文章是贴别人的,我重复重复再重复的试,还是不通,郁闷。有路过通的留个言,提个醒。谢谢

相关推荐

    DataGrid分页

    Set adoPrimaryRS = New ADODB.Recordset adoPrimaryRS.Open "select * from numbers", conn, adOpenStatic, adLockOptimistic adoPrimaryRS.PageSize = nPageSize ''页数 lPageCount = adoPrimaryRS.PageCount ...

    ASP Recordset 分页显示数据的方法(修正版)

    1.建立Recordset对象 代码如下: Dim objMyRst Set objMyRst=Server.CreateObject(“ADODB.Recordset”) objMyRst.CursorLocation=adUseClientBatch ‘客户端可批量处理 objMyRst.CursorType=adOpenStatic’光标类型...

    asp的分页制作的代码

    set rs=server.createobject("adodb.recordset") if not isempty(request("page")) then  pagecount=cint(request("page"))  else  pagecount=1  end if sql="select 查询语句" rs.open sql,conn,1,1 rs....

    ASP万用分页程序

     Set rs=Server.Createobject(ADODB.RECORDSET)  rs.Open sql, conn, 1, 1  if not rs.eof then  pages = 30 '定义每页显示的记录数  rs.pageSize = pages '定义每页显示的记录数  allPages = rs.pageCount'...

    asp 简单分页代码

    set rs=server.createobject(“adodb.recordset”) exce=”sql” ‘sql 查询语句 rs.open exce,conn,1,1 %&gt; 然后是分页属性的设置 &lt;&#37; rs.PageSize=3 ‘设置页码 pagecount=rs.PageCount ‘获取总页码 page=...

    jb51生成所有页面的效果+分页生成 原创

    代码如下:&lt;... dim rs set rs=server.CreateObject(“adodb.recordset”) if request(“type”)=”date” then yearstr=request(“selyear”) monstr=request(“selmonth”) daystr=request(“seld

    简单分页函数一 常用

    page=trim(request(“page”)) maxperpage=40 first=true last=true dim rs set rs=server.CreateObject(“adodb.recordset”) sql=”select id,title,add1,cartype,isred,enterdate,hits from newnews where...

    简单的ASP分页代码(测试正确)第1/2页

     ‘以上为包含数据库衔接文件 ‘——————————————–查询开始数据库 set rs=server.CreateObject(“adodb.recordset”) rs.open “select * from books where id=”&id&” order by id desc...

    asp分页方法

    根据我的理解,分页显示的关键就在于对ADO的Recordset对象或DTC(设计时控件)的Recordset控件的属*和方法的熟练把握上。 这七种分页显示的方法概括起来说分四类: 第一、二种我暂取名叫“纯ASP法”,这也是国内的...

    网上日记本

    第一部分 软件可行性研究与项目开发计划 1. 问题定义 随着时代的进步,网络技术层出不穷信息量急剧膨胀,整个人类社会已成为信息化的社会,人们对信息和数据的处理。管理和加工已经进入自动化、网络化和社会化的阶段...

    个能对访问者进行编号、记录访问次数、、时间的统计

    set rs=server.createobject("ADODB.Recordset") rs.Open sql,conn, 1, 3 rs.addnew '如果是新访客的话,在库中新增一条记录。 rs("cs")=1 '记下访问次数为1 rs("ip")=request.servervariables("remote_addr") '...

    傻瓜打表

    支持图片打印(基于文件名、adodb.recordset 中的sql image 字段、access中的真正的ole字段) 支持单元格镜像(如一个单元格嵌套票据,另外两个单元格为其 镜像,可实现在一张打印纸上的三联打印) 强大的...

    傻瓜打表(众合打表)

    支持图片打印(基于文件名、adodb.recordset 中的sql image 字段、access中的真正的ole字段) 支持单元格镜像(如一个单元格嵌套票据,另外两个单元格为其 镜像,可实现在一张打印纸上的三联打印) 强大的...

    Access 2000数据库系统设计(PDF)---018

    Access 2000数据库系统设计(PDF)---018目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试....

    Access 2000数据库系统设计(PDF)---001

    目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试. 31.2.3 DAP设计模式 51.3 为Microsoft...

    Access 2000数据库系统设计(PDF)---011

    Access 2000数据库系统设计(PDF)---011目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试....

    Access 2000数据库系统设计(PDF)---002

    Access 2000数据库系统设计(PDF)---002目 录译者序前言第一部分 Access基础第1章 Access 2000的新增功能 11.1 Access 2000透视 11.2 用Office Web组件部署数据访问页 21.2.1 Office Web 组件 21.2.2 DAP演示测试....

Global site tag (gtag.js) - Google Analytics