分页显示类源代码

<%‘用法

Dim Pages‘定义类变量
Set Pages = New Cls_Pages_New
Pages.intPage= Page‘当前页码
Pages.RequestPage = 10‘每页显示多少页的翻页数
Pages.ShowNum=10‘每页显示的记录数
Pages.Other = Zr.QueryString‘多个URL变量
Rs = Pages.ResultSet(sql)‘类输出的结果
RecordCount=Pages.intReCun‘总记录数
If IsNull(Rs) Then   Rs = "<br>尚无任何内容"‘为空则没有记录
If IsArray(rs) Then
For i=0 To ubound(Rs,2)
‘循环体内容为结果输出
Next
End If
%>

<%=Pages.ShowPages()%>分页输出

<%

Class Cls_Pages_New
   Private intRspagesize,intPaCun,intPageCun,intPageDown,intpageup,page
   Private Rs,TOther
   Public intReCun
‘初始化
   Private Sub Class_Initialize()
     intRspagesize=20‘每页显示的记录数
intPageCun=10‘每页显示多少页
intReCun=-1‘总记录数
   End Sub
‘结束
   Private Sub Class_Terminate()
   End Sub

‘取得当前页
   Public Property Let intPage(ByVal VShowNum)
     page=CheckNum(VShowNum,10,-1)
if IsNumeric(page) then‘页码为整数
    page=cint(page)
    if page<1 then page=1
else
    page=1
end if
   End Property
‘取得每页显示条数
   Public Property Let ShowNum(ByVal VShowNum)
       intRspagesize=CheckNum(VShowNum,10,-1)
   End Property
‘取得每页显示页数
   Public Property Let RequestPage(ByVal VShowNum)
       intPageCun=CheckNum(VShowNum,10,-1)
   End Property
‘取得URL上的其他参数
   Public Property Let Other(ByVal Tor)
     If Tor="" Or IsNull(Tor) Then
       TOther=""
     Else
       TOther=Tor & "&"
     End If
   End Property
‘输出结果数组
   Public Property Get ResultSet(ByVal sql)
     ResultSet=Null
If Not IsObject(Conn) Then ConnectionDatabase
Set Rs = Server.CreateObject ("Adodb.Recordset")
Rs.CursorLocation = 3
On Error Resume Next
Rs.Open sql,Conn,1,1,&H0001‘&H0001表示adCmdText,将执行一段sql,&H0002表示adCmdTable,将操作一个表
If Err Then
   err.Clear
   Set Conn = Nothing
   Response.Write "查询数据的时候发现错误,请检查您的查询代码是否正确。"
   Response.End
End If
If Not Rs.Eof Then
Rs.pagesize=intRspagesize
intReCun=Rs.Recordcount‘总记录数
intPaCun=Rs.pagecount‘总页数
Rs.absolutepage=page
ResultSet=Rs.GetRows(intRspagesize)
End If
Rs.Close
Set Rs=Nothing
‘Rs.AbsolutePosition = ( TmpPage - 1)* TShowNum + 1
Zr.SqlQueryNum = Zr.SqlQueryNum+1
   End Property

   Private Function CheckNum(byVal iStr,byVal iStartNum,byVal iEndNum)
     If Not IsNumeric(iStr) Then
       CheckNum=iStartNum
     Else
       CheckNum=Clng(iStr)
     End If
     If iEndNum>-1 Then
       If CheckNum<iStartNum Then CheckNum=iStartNum
       If CheckNum>iEndNum Then CheckNum=iEndNum
     End If
   End Function
‘显示分页栏目
   Public Function ShowPages()
     Dim HTMLtext
If intPaCun<intPageCun Then intPageCun=intPaCun
If page<>1 Then‘显示第一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page=1"" title=""第一页""><font style=""font-family:webdings"">9</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">9</font>"&Chr(13)&Chr(10)
End If
If page>intPageCun Then‘显示上多页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page-intPageCun&""" title=""上"&intPageCun&"页""><font style=""font-family:webdings"">7</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">7</font>"&Chr(13)&Chr(10)
End If
If page>1 Then‘显示上一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page-1&""" title=""上一页""><font style=""font-family:webdings"">3</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">3</font>"&Chr(13)&Chr(10)
End If

If intPageCun mod 2 =1 Then
intpageup=(intPageCun-1)/2
intPageDown=intpageup
Else
intpageup=intPageCun/2-1
intPageDown=intpageup+1
End If
If page<=intpageup Then
intpageup=page-1
intPageDown=intPageCun-intpageup-1
End If
If (intPaCun-page)<=intPageDown Then
intPageDown=(intPaCun-page)
intpageup=intPageCun-intPageDown-1
End If
For i=intpageup To 1 Step -1
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&(page-i)&""" title=""第"&(page-i)&"页"">"&(page-i)&"</a>"&Chr(13)&Chr(10)
Next
HTMLtext=HTMLtext&"<font>"&page&"</font>"&Chr(13)&Chr(10)‘当前页
For i=1 To intPageDown
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&(page+i)&""" title=""第"&(page+i)&"页"">"&(page+i)&"</a>"&Chr(13)&Chr(10)
Next

If page<intPaCun Then‘显示下一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page+1&""" title=""下一页""><font style=""font-family:webdings"">4</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">4</font>"&Chr(13)&Chr(10)
End If
If page<intPaCun-intPageCun Then‘显示下多页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&page+intPageCun&""" title=""下"&intPageCun&"页""><font style=""font-family:webdings"">8</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">8</font>"&Chr(13)&Chr(10)
End If
If page<>intPaCun Then‘显示最后一页
HTMLtext=HTMLtext&"<a href=""?"&TOther&"page="&intPaCun&""" title=""最后一页""><font style=""font-family:webdings"">:</font></a>"&Chr(13)&Chr(10)
Else
HTMLtext=HTMLtext&"<font style=""font-family:webdings"">:</font>"&Chr(13)&Chr(10)
End If
ShowPages=HTMLtext
   End Function
End Class
%>

时间: 2024-10-10 12:04:36

分页显示类源代码的相关文章

asp网络编程:ASP中实现分页显示的七种武器

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为方便.自由.而在Visual InterDev6.0(以下简称VI6.0)中,由于Script Object Model(以下简称SOM).Design-Time Control(以下简称DTC)以及Data Environment Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便. 因为主题方面的原因,关于

新闻实现分页显示

一.数据显示:(大容量数据显示特点) 1.以列表方式显示数据的特点: 优势:数据能够按照指定格式显示,布局清晰,不受信息数量的限制 不足:当数据量较多,需要用户拖动页面才能浏览更多信息 当采用分页技术实现批量数据的页面显示时,就既能显示多条信息,又不需要拖动页面. 二.分页实现的思路: 1.分页显示的步骤: 先确定每页显示的数据数量,然后再确定分页显示所需的总页数,接下来再编写SQL查询语句,实现数据查询,最后在JSP页面中进行分页显示设置. 2.封装page类: 因为分页的数据基本都一样,所以

Spring mvc整合mybatis基于mysql数据库实现用户增删改查及其分页显示的完整入门实例【转】

Spring mvc整合mybatis例子, 基于mysql数据库实现对用户的增.删.改.查,及分页显示的完整例子. 查询显示用户 添加用户 更新用户 官方验证: 项目截图 必须修改applicationContext.xml中mysql的配置为本地的,否则启动失败. 另外jar包多一个ehcache.jar无关紧要,删除即可. 1. 使用阿里巴巴Druid连接池(高效.功能强大.可扩展性好的数据库连接池.监控数据库访问性能.支持Common-Logging.Log4j和JdkLog,监控数据库

java web 简单的分页显示

题外话:该分页显示是用 “表示层-控制层-DAO层-数据库”的设计思想实现的,有什么需要改进的地方大家提出来,共同学习进步. 思路:首先得在 DAO 对象中提供分页查询的方法,在控制层调用该方法查到指定页的数据,在表示层通过 EL 表达式和 JSTL 将该页数据显示出来. 重点:两个方法:(1)计算总的页数. (2)查询指定页数据. 1.DAO层-数据库 JDBCUtils 类用于打开和关闭数据库,核心代码如下: 1 import java.sql.Connection; 2 import ja

数据库练习——分页显示

调用上一篇的  “分页类” 显示数据库内容 <title>数据分页类</title> </head> <body> <h1>分页显示</h1> <table width="900px" border="1" cellpadding="0" cellspacing="0"> <tr align="center">

LigerUI中通过加载服务端数据进行表格的分页显示

前言:我的这一篇文章是紧接着上一篇关于LigerUI的文章(http://www.zifangsky.cn/379.html)写的,因此在这里我就省略了相关的环境搭建,直接进入正题 一 介绍 在LigerUI中显示表格是用的ligerGrid,同时我们可以通过配置url参数就可以加载远程数据并显示成表格形式.不仅如此,ligerGrid还可以进行数据的排序和分页显示: (1)排序:需要用到"sortname"和"sortorder"这两个参数,分别表示按哪个字段排序

PHP之分页显示数据-新闻系统

一.项目设计 1.项目要求 2.主页面使用frame框架进行设计,内容如下: index.php <span style="font-family:SimSun;font-size:18px;"><html> <frameset rows="80%,20%" frameborder="no" border="0" cols="900px"> <frameset co

分页显示——(一)

1.思路介绍: 先定义一个封装分页数据的泛型工具类,控制层中通过前台传的页数与每页的数量向service要page对象,service层调用dao返回总数并调用dao取出数据(limit关键字),dao层从数据库中取出service层所需要的数据,并提交给service层.这样就达到分页的效果.数据封装在pageBean的list中 2.PageBean工具类(泛型类) package utils; /** * 分页工具类 */ import java.util.ArrayList; impor

Hibernate+Spring+Struts2整合开发中的一个分页显示方案(转载)

分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流. 1.DAO层接口的设计,在MemberDao接口中定义了如下两个方法: public interface MemberDao{        //省略了其他的代码        /**     * 分页查询     * @