ASP分页代码(大型数据库)的(2)

2019-08-31 15:53

<%page=1 '设置变量初始值PAGE=1

page=request.querystring(\值为接受值 rs.PageSize = 20 '每页显示记录数

if Not IsEmpty(trim(Request(\如果PAGE已经初始化... Page = CInt(Request(\接收PAGE并化为数字型赋给PAGE变量 if Page > rs.PageCount then '如果接收的页数大于总页数 rs.AbsolutePage = rs.PageCount '设置当前显示页等于最后页 elseif Page <= 0 then '如果page小于等于0 Page = 1 '设置PAGE等于第一页 else

rs.AbsolutePage = Page '如果大于零,显示当前页等于接收的页数 end if End if

Page = rs.AbsolutePage%>

第一种分页

<%if rs.pagecount<>1 and rs.pagecount<>0 then%>'首先判断页总数不为1和0 <%if page>1 then%>

<%if page

[]

[] [] [] <%else%>

[]

[] [下一页] [尾页] <% end if %> <%else%>

[首页] [上一页]

[] [] <%end if %> <%else%>

[首页] [上一页] [下一页] [尾页] <%end if%> http://www.mscto.com

第二种分页

<%if rs.pagecount<>1 and rs.pagecount<>0 then%> <%if page>1 then%>

[]

[] <%if page

[]

[] <%else%>

[下一页] [尾页] <% end if %> <%else%>

[首页] [上一页]

[] [] <%end if %> <%else%>

[首页] [上一页] [下一页] [尾页] <%end if%>

第三种

<%if rs.pagecount<>1 and rs.pagecount<>0 then%> <%if page <%if page=1 then %> [首页] [上一页] <%else%>

[]

[] <% end if %>

[] [] <%else%>

[]

[] [下一页] [尾页] <%end if %> <%else%>

[首页] [上一页] [下一页] [尾页] <%end if%>

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为方便、自由。而在Visual InterDev6.0(以下简称VI6.0)中,由于Script Object Model(以下简称SOM)、Design-Time Control(以下

简称DTC)以及Data Environment Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便。

因为主题方面的原因,关于数据库的连接,下文只给出代码和简要注释,而把重点放在如何利用Recordset对象(或控件)实现数据记录的分页显示方面。根据我的理解,分页显示的关键就在于对ADO的Recordset对象或DTC(设计时控件)的Recordset控件的属性和方法的熟练把握上。

这七种分页显示的武器概括起来说分四类:

第一、二种我暂取名叫“纯ASP法”,这也是国内的ASP网站上用得最多的方法,它们的区别仅在实现技巧的不同。这两种方法的实现最易理解,用到的对象概念也最少,对开发环境的要求也最低(只要记事本就行)。可以说,这两种方法的实质还是CGI的编程思想,只是在程序中引入了ADO对象而已。

第四、五种暂取名叫“SOM的DHTML法”。这两种方法要求在VI6.0的环境下,利用微软提出的脚本对象模型(Script Object Model)和DHTML中Table对象的与数据库绑定的新特性(许多书和文章只介绍了DHTML的CSS特性在样式设计中的运用而忽略介绍其数据绑定特性),实现在客户端控制翻页。但它要求用户的浏览器必须是支持DHTML,如:Microsoft Internet Explorer 4.0及以上的版本。

第六种暂取名叫“SOM服务器端法”。要求在VI6.0的环境下开发,它利用微软提出的脚本对象模型(Script Object Model)中的几个DTC控件:Recordset、PageObject、Grid等在服务器端(客户端)实现翻页控制。这是一种激动人心的、全新的编程方法,它把网页看成对象(这种对象模型和传统的DOM----document object model是有区别的:DOM只能控制客户端,而SOM可控制服务器端和客户端),它真正实现了网页的面向对象编程。但遗憾的是,也许是我个人能力有限,这种技术我个人认为还不是很成熟,比如,与浏览器的结合还不是很好,这将在后文详细说明。

第七种暂取名叫“DEOM法”。它也是利用了VI6.0中建立的数据环境对象模型(Data Environment Object Model)建立Recordset对象。这也是在网页编程上比较少见的新方法,与SOM模型相比,自有它的优点,这将在后文详述。

在后面所举的所有例子源代码,都可以直接拷贝使用,你甚至可以不懂其原理,只要把其中的粗斜体字部分换成相应自己的数据库名或字段名就可以了。

在开始详细介绍各种分页方法前,让我们先创建一个数据库:用Office97中的access自创一个Employee.mdb,其中建一个表emp,只设三个字段:emp ID,last name和first name。为什么这么简单,是因为我们关心的是怎样处理recordset的结果。

第一种:参数直接代入法

这种方法是用手工建立Recordset对象,利用其pagesize(每页指定显示记录数),pagecount(总页码数)和absolutepage(当前页码数)属性来控制分页的输出。分页采用

<href>直接带页码参数的方法来控制翻页。网页的名字为emp1.asp。源代码如下:

<%//建立与employee.mdb数据库的连接。

Set conn = Server.CreateObject(\

conn.Open \//建立emp表的Recordset对象实例rs。

Set rs = Server.CreateObject(\rs.Open \

PageSize = 10 //pagesize属性指定了每页要显示的记录条数 Page = CLng(Request(\Page\型转化为long型 If Page < 1 Then Page = 1

If Page > rs.PageCount Then Page = rs.PageCount If Page <> 1 Then

Response.Write \<A HREF=emp1.asp?Page=1>第一页</A>


ASP分页代码(大型数据库)的(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:40%四聚乙醛悬浮剂应用技术

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: