当前位置: 首页 > 图文教程 > 网络编程 > ASP > rs的pagesize属性

ASP
对数据库中的记录用上一条下一条显示(二)
对数据库中的记录用上一条下一条显示(三)
完整的站点访问统计系统(一:数据库篇)
FIF小组ASP互动视频教程
关于ASP,ASP.NET,VB.NET里的MD5加密函数
ASP正则表达式详解
ASP中非数据库实现数据对象的定义及处理
编程爱好者的福音 让IIS6.0支持ASP
使用xml http为网站增加域名查询功能
用ASP实现支持附件的EMail系统
使用ADO.net将数据导出到Excel并提供下载
ASP实现图片上传
asp组件上传
ASPX页Web服务调用性能优化
asp实现语音上传
VBScript教程 第六课
VBScript教程 第三课
使ASP程序跨浏览器
四步讲解ASP中正则表达式的应用
ASP教程:深入认识学习ASP应用Cookies的技巧

ASP 中的 rs的pagesize属性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 209 ::
收藏到网摘: n/a

  在了解了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
   &nbs