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

2016-02-19 14:01 3 1 收藏

今天图老师小编给大家展示的是4.7 ASP中实现分页显示的七种武器,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - Web开发 】

在微软的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及以上的版本。

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

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

(本文来源于图老师网站,更多请访问https://www.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, 3

PageSize = 10 //pagesize属性指定了每页要显示的记录条数
Page = CLng(Request("Page")) ’string型转化为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>"
  Response.Write "<A HREF=emp1.asp?Page=" & (Page-1) & ">上一页</A>"
End If
If 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 If
Response.write"页码:" & Page & "/" & rs.PageCount & "</font>"
//每一页的显示
//显示表头
Response.Write "<CENTER><TABLE BORDER=1>

来源:https://www.tulaoshi.com/n/20160219/1605973.html

延伸阅读
标签: windows 操作系统
对于用惯了鼠标的朋友来说,Windows系统里的“运行”命令恐怕算得上是“老古董”了,但是有些时候,使用它却可以让繁琐的操作变得轻松自如,下面就让我来告诉你如何利用“运行”命令的七种武器来纵横于Windows江湖吧! 首先我们通过单击“开始→运行”命令,打开“运行”对话框,逐一输入以下命令: 1. Winmsd--初涉...
标签: windows 操作系统
为了不影响正常业务的进行,企业网络的管理员需要想尽办法封闭BT有可能经过的所有端口,将一些特定的种子发布站点阻挡在外,将企业内的BT尝试整体封杀。 编者按: BT下载正给越来越多的企业办公带来危害,而公众网、电信网中的BT下载,同样也正在吞噬着运营网络带宽。一旦出现第一颗“种子”(下载源),大量的BT用户就会跟进,...
标签: PHP
  <html<body<table border=1 <? $id=@mssql_connect("ddy","sa"," ") or die("连接不上"); $db=mssql_select_db("ddy",$id); $query="select * from lr00 order by lr0012 desc"; $result=mssql_query($query); if($result): if($tt==""){ $...
标签: 办公软件
当我们打开Word时,首先会看到什么?对了,只要用鼠标点击“文件”菜 单,默认情况下会列出最近使用过的文件。出于保密需要,我们往往不希望别人看到自己最近编辑过的文件,要达到这样的目的,只要在“工具”→“选项”→“常规”选项卡中不选中“列出最近所用文件”即可。这样做就没人能发现最近被使用过的文件了?答案当然是否定的。 ...
摄影创作中色彩的七种运用   Andrew Gibson是EOS杂志的技术编辑,本文是他的文章《7 Ways to Create Powerful Photos with Colour》的摘译,介绍了利用色彩来创造强烈视觉效果的方法。色彩是构图的重要组成部分,就像拍摄一座建筑物的轮廓、外形、质地、线条和光线一样重要的组成部分。 1、使用浓烈而整块的色彩 浓厚而...

经验教程

890

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部