首页 理论教育 ASP程序设计:数据查询控制

ASP程序设计:数据查询控制

时间:2023-11-20 理论教育 版权反馈
【摘要】:在前面已经提到,数据库在网络中的应用,主要集中在数据的查询操作上。数据的查询主要是使用ADO对象中的Connection对象和Recordset 对象。图7-3数据控制程序结果2:显示表中最后的数据记录下面的例子将介绍利用Session 对象和Recordset 对象的PageSize 属性来控制每页的数据显示。例7-2:Step 1.建立ASP 查询,文件名为7-2.asp。

ASP程序设计:数据查询控制

在前面已经提到,数据库在网络中的应用,主要集中在数据的查询操作上。数据的查询主要是使用ADO对象中的Connection对象和Recordset 对象。上一章,在介绍ADO对象时,提到各种不同的常数,这些常数可以在程序中声明并赋初值,如前一章的部分程序都是采用该方法。另一种方法,就是直接引用ADO 缺省的常数声明文件(adovbs.inc),一般存储在“c:\Program Files\Commom Files\System\Ado”这个目录下。程序中如果直接引用,可以采用复制一份到程序当前目录,再通过“include file”的方式加以引用,例如:

数据如何进行查询,在前面已经介绍了,主要通过使用SQL 语句中的Select 语句,通过使用该语句就可以得到所要查询的数据记录。在上一章介绍ADO 各个对象的属性时,已经简单的介绍了如何查询数据,如在介绍Connection 对象的Execute 方法进行数据查询时的例子6-3,以及后面介绍Parameter 对象的属性值时的例子6-11 等。这些例子都是采用了Select语句对表进行了筛选,然后得到了所要的数据结果。

上一章介绍的例子主要是针对数据记录少的时候,当查询结果得到的数据记录很大的时候,就有些不适用了,如随着数据记录数量的增加,从服务器传递到客户机的时间就会增加,可能发生数据传递超时而中断的现象,同时对服务器也会产生一些不好的后果,如增加服务器的负载等。

解决这个问题,可以采用多种方法,本节主要介绍两种方法:一种是通过结合Session对象,可以允许参数在多个网页间传递的特性,让查询程序以一页或一条为单位进行查询操作,主要利用Recordset 对象的AbsolutePosition 属性来记录数据指针的位置;另一种则主要是利用Recordset 对象的PageSize 属性来控制每一页所要显示的数据记录条数,当然其间也用到了Session 对象和Recordset 对象的AbsolutePosition 属性。

下面的例子将介绍如何利用Session 对象和Recordset对象的AbsolutePosition属性进行以一页或一条为单位来浏览查询结果。Session 对象的介绍,请参考第三章ASP 内置对象的介绍;Recordset 对象的AbsolutePosition属性的介绍,请参考前面ADO对象的介绍。

例7-1:

Step 1.建立ASP 查询,文件名为7-1.asp。在这个查询中,使用了Session 对象来存储RecordSet 对象,数据库的连接使用的是利用对Recordset 对象的Open 方法参数设置的方式进行的。部分指令解释请参考前面例子,如例6-8等。代码如下:

Step 2.建立完成翻页功能的ASP程序,文件名为link.asp。该文件将建立显示“上一页”及“下一页”,“开始记录”,“结束记录”,“数据总条数”等信息,并完成一定的链接关系,如“上一页”及“下一页”就加入了超链接的功能。当点击“上一页”时,就会调用Query2.asp程序,并将参数Method的“Previous”传递过去,同样当点击“下一页”时,也会调用Query2.asp程序,并将参数Method的值“Next”传递过去。代码如下:

Step 3.建立显示“上一页”或“下一页”功能的ASP 程序,文件名为Query2.asp。在该程序中将继续显示表中的数据。程序中使用MoveNext 指令和MovePrevious 指令完成数据指针的定位。代码如下:

通过浏览器运行程序7-1.asp,可以得到如图7-2所示。

图7-2 数据控制程序结果1:显示首记录(www.xing528.com)

点击下一页,会出现表中后面数据结果,显示表中最后的数据记录。如图7-3所示。

图7-3 数据控制程序结果2:显示表中最后的数据记录

下面的例子将介绍利用Session 对象和Recordset 对象的PageSize 属性来控制每页的数据显示。同前一个例子一样,也是通过Session 对象将Recordset 对象在多个网页中传递。

例7-2:

Step 1.建立ASP 查询,文件名为7-2.asp。在这个程序中,主要利用Session 对象来存储Recordset 对象,然后利用Recordset 对象的PageSize 属性来设置每一页所要显示的记录条数。程序代码如下:

Step 2.建立显示所有页数的ASP 程序,其存储文件为link2.asp。在这个程序中,主要将查询的结果分为多个页面,以供用户通过超链接来链接要查询指定的页面数据记录。程序代码如下:

Step 3.建立显示指定页面的查询数据记录的ASP 程序,其存储文件为query.asp。这个查询程序中,主要通过Recordset 对象的AbsolutePage 属性来决定所要显示的页面数据。程序代码如下:

通过浏览器,可以看到下面的结果,如图7-4所示。

图7-4 用页面方式访问数据库

通过这两个例子,可以说明访问数据库的数据方法很多,可以利用Session 对象来传递一些参数来控制数据,也可以利用ADO 对象自身带的各个属性和方法进行控制,在实际的程序编写中,要根据不同的特点,采取不同的方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈