ASP中实现分页显示的七种武器

彩色眼镜逗一群

彩色眼镜逗一群

2016-02-19 17:07

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享ASP中实现分页显示的七种武器教程,希望对大家能有一点小小的帮助。

  在微软的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可控制服务器端和客户端),它真正实现了网页的面向对象编程。但遗憾的是,也许是我个人能力有限,这种技术我个人认为还不是很成熟,比如,与浏览器的结合还不是很好,这将在后文详细说明。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  第七种暂取名叫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("ADODB.Connection")conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=employee.mdb"//建立emp表的Recordset对象实例rs。Set rs = Server.CreateObject("ADODB.Recordset")rs.Open "emp", conn, 3PageSize = 10 //pagesize属性指定了每页要显示的记录条数Page = CLng(Request("Page")) ’string型转化为long型If Page < 1 Then Page = 1If Page > rs.PageCount Then Page = rs.PageCountIf Page <> 1 Then Response.Write "<A HREF=emp1.asp?Page=1>第一页</A>@" Response.Write "<A HREF=emp1.asp?Page=" & (Page-1) & ">上一页</A>@"End IfIf Page <> rs.PageCount Then Response.Write "<A HREF=emp1.asp?Page=" & (Page+1) & ">下一页</A>@" Response.Write "<A HREF=emp1.asp?Page="&rs.PageCount & ">最后一页</A>@"End IfResponse.write"页码:" & Page & "/" & rs.PageCount & "</font>"//每一页的显示//显示表头Response.Write "<CENTER><TABLE BORDER=1>"Response.WRITE "<TR><TD>" & rs.Fields("emp ID").Name & "</TD>"Response.WRITE "<TD>" & rs.Fields("last name").Name & "</TD>"Response.WRITE "<TD>" & rs.Fields("first name").Name & "</TD></TR>"//循环显示每条记录rs.AbsolutePage = Page //把页码赋给absolutepage属性从而知当前页的首条记录号For iPage = 1 To rs.PageSize //Response.WRITE "<TR><TD>" & rs.Fields("emp ID").Value & "</TD>"Response.WRITE "<TD>" & rs.Fields("first name").Value & "</TD>"Response.WRITE "<TD>" & rs.Fields("last name").Value & "</TD></TR>"rs.MoveNextIf rs.EOF Then Exit ForNextResponse.Write "</TABLE></CENTER>"%> 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)
展开更多 50%)
分享

猜你喜欢

ASP中实现分页显示的七种武器

Web开发
ASP中实现分页显示的七种武器

4.7 ASP中实现分页显示的七种武器

Web开发
4.7 ASP中实现分页显示的七种武器

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

VisualInterDev6.0七种实现分页显示的方法

ASP
VisualInterDev6.0七种实现分页显示的方法

在ASP中轻松实现记录集分页显示

ASP
在ASP中轻松实现记录集分页显示

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

4.11 ASP中几种分页显示的比较

Web开发
4.11 ASP中几种分页显示的比较

Windows运行命令的七种武器

windows 操作系统
Windows运行命令的七种武器

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何快速选中某个工作表

如何快速选中某个工作表

用ASP设计收发文管理系统

用ASP设计收发文管理系统
下拉加载更多内容 ↓