设为首页
收藏本站
最近更新

文章搜索
本类热门

首页 >> 网络编程 >> ASP >> ASP教程 >> 新闻正文 [字体: ] [打印文档]
支持多风格变换的ASP分页类

文章作者:
责任编辑:rosan 录入时间:2007-1-1 23:48:09 来源:
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意.

百特科技[http://www.PCbyte.cn]专业的空间、主机提供商,域名注册绝对优惠!
 

这个分页使用的是0游标,也就是Rs.Open Sql,Conn,0,1。但是感觉也快不了多少,10
万条数据的分页时间300多豪秒之间
<%
Class Page
Private CurrPage
Private PageN
Private UrlStr
Private TempStr
Private ErrInfo
Private IsErr
Private TotalRecord
Private TotalPage
Public  PageRs

Private TempA(11)
Private TempB(8)
'------------------------------------------------------------
Private Sub Class_Initialize()
      CurrPage=1'//默认显示当前页为第一页
      PageN=10'//默认每页显示10条数据
      UrlStr="#"
      TempStr=""
      ErrInfo="ErrInfo:"
      IsErr=False
End Sub
Private Sub Class_Terminate()
      If IsObject(PageRs) Then
            PageRs.Close
            Set PageRs=Nothing
      End If
      Erase TempA
      Erase TempB
End Sub
'----------------------------------------------------------
'//获取当前页码
Public Property Let CurrentPage(Val)
      CurrPage=Val
End Property
Public Property Get CurrentPage()
      CurrentPage=CurrPage
End Property
'//获取每页显示条数
Public Property Let PageNum(Val)
      PageN=Val
End Property
Public Property Get PageNum()
      PageNum=PageN
End Property
'//获取URL
Public Property Let Url(Val)
      UrlStr=Val
End Property
Public Property Get Url()
      Url=UrlStr
End Property
'//获取模板
Public Property Let Temp(Val)
      TempStr=Val
End Property
Public Property Get Temp()
      Temp=TempStr
End Property
'------------------------------------------------------------

Public Sub Exec(Sql,ConnObj)
      On Error Resume Next
      Set PageRs=Server.CreateObject("ADODB.RecordSet")
      PageRs.CursorLocation = 3 '使用客户端游标,可以使效率提高
      PageRs.PageSize = PageN '定义分页记录集每页显示记录数
      PageRs.Open Sql,ConnObj,0,1
      If Err.Number<>0 Then
        Err.Clear
     PageRs.Close
     Set PageRs=Nothing
        ErrInfo=ErrInfo&"建立或打开记录集错误..."
     IsErr=True
     Response.Write ErrInfo
     Response.End
      End If
      TotalRecord=PageRs.RecordCount'//如果为0呢?
      If TotalRecord>=1 Then
      '----------------------------------------------------------------------------开始
      '//计算总页数,Ps,为什么不用PageRs.PageCount呢?
      'If TotalRecord Mod PageN=0 Then
        'TotalPage=PageRs.RecordCount\PageN
      'Else
        'TotalPage=PageRs.RecordCount\PageN
     'TotalPage=Abs(Int(TotalPage))
      'End If
   TotalPage=PageRs.PageCount
      '//处理当前接收页码,默认的为1,所以不是数字类型的都会为1
      If IsNumeric(CurrPage) Then
         CurrPage=CLNg(CurrPage)
         If CurrPage<1 Then CurrPage=1
&nbs

此新闻共有4页 上一页 1 2 3 4 下一页

推荐好友 | 频道收藏 | 打印文档 | 报告错误  
相关连接
·ASP用Server.Transfer实现博客永久链接
·ASP日期和时间函数示例
·ASP提高数据显示效率-缓存探幽
·修改asp代码防止被杀毒软件误删
·实用的ASP连接数据库的函数
·整站二进制数据库文件还原
·对ASP动态包含文件方法的改进
·ASP 返回“Operation Must Use an Updateable Query”(操作必须使用可更新的查询)错误
同一专题
·无相关专题
发表评论 版权声明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有
转载
要求转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
共有评论查看评论
姓名: