基于ASP的数据库查询分页技术
2021-08-14
来源:步旅网
维普资讯 http://www.cqvip.com 电脑知识与技术 ......数据库与信息管理. 基于ASP的数据库查询分页技术 崔娟,阎冰洁,熊前兴 (武汉理工大学计算机科学与技术学院,湖北武汉430063) 摘要:随着web数据库中信息量的增大,查询分页技术已成为一种常用技术。文章从数据库连接与查询、分页显示和页面保存方法 三方面入手.提出了基于ASP技术的数据库查询分页技术的解决方案,并给出了关键代码。 关键词:分页;页面保存;数据库;ASP;ADO 中图分类号:TP311 文献标识码:A 文章编号:1009—3044(2006)23-0006一O1 CUI Juan,YAN Bing— ie,XIONG Qian-xing Pagination Technology of Database Query Based On ASP (School of Computer Science and Technology,Wuhan University of Technology,Wuhan 430063,China) Abstract:Followed the aggrandizement of the information in the database of web,the pagination has become a kind of common technique. T s paper includes the connection and search from database.the pagination and page—savhlg.It provides the solution of the database searching and pagination based on ASP.In addition,it ives tghe key COde. Key WO ̄S:Pagination;Page——saving;Database;ASP;ADO 1引言 随着Intemet的发展,Web已经成为一种很重要的操作平台。 可以用来建立与ODBC数据源的连接。 Error对象主要提供数据访问错误的细节。任何涉及ADO对 象的操作都会生成一个或多个提供者错误。每个错误出现时,一 个或多个Error对象将被放到Connection对象的Errors集合中。 当另一个ADO操作产生错误时,Errors集合将被清空,并在其中 放入新的Error对象集。 在大多数Web应用程序中都需要从数据库中读取数据。并将数据 以适当的方式显示在网页上。而当使用较为宽松的查询条件时, 常常会出现大量符合条件的查询结果。如果将所有查询结果一次 性全部显示出来,一方面会加剧网络传送的负担,降低网站的响 应速度,另一方面也给用户的浏览带来不便。这时,就需要采取分 页的显示方式。因此,在Web应用中,对数据库查询分页技术的研 究是十分必要的。 使用Recordset对象操作来自提供者的数据。使用ADO时, 2 ASP技术的优势 目前常用的web技术有ASP、PHP、JSP等。它们都具有相似 的特征和功能。虽然ASP没有跨平台的优势,只能在Windows环 境下运行,但是由于Windows环境的普及性和开发环境的方便 性,IIS中内嵌ASP引擎,同时使用Windows+IIS开发ASP程序又 具有较低的成本和较高的安全性,使得ASP还存在很大的使用的 空间。 通过Recordset对象可对几乎所有数据进行操作。所有Recordset 对象均使用记录(行)和字段(列)进行构造。由于提供者所支持的 功能不同,某些Recordset方法或属性有可能无效。常用的就是 Open和Close方法。Open方法用于打开Recordset。语法如下: recordset.Open Source,ActiveCormection,CursorType,LockType, Options。Source为SQL语句,ActiveConnection为有效Connection 对象变量名,CursorType为CursorTypeEnum值,确定提供者打开 Recordset时应该使用的游标类型,LockType确定提供者打开 Recordset时应该使用的锁定(并发)类型的LockTypeEnum值。 Close方法用来关闭Recordset。 ASP程序设定为在Web服务器端运行,将运行结果以HTML 格式返回给浏览器,可使用于各种浏览器,而且保护了脚本不被 浏览器得到,提高了网站的安全性。 ASP可以和HTML(DHTML)或其它脚本语言(VBScript, JavaScript)相互嵌套。 3.1.2代码实现 ,,连接数据库 Set conn=Server.CreateObject(”ADODB.Connection”、 conn.Open”Provider=MSDASQL.1:Pesirst Security Info=Tme; ASP以对象为基础,可以使用ActiveX控件创建ASP组件, 这样其功能就具有极大的可扩充性。 User ID=用户名:Passwod=密码:Datra Source=数据源” f/查询数据库 on error resume next 在IIS5中还增加了HTrP压缩、页面转移和页面引用等更高 效的方法。 Set rs-Server.CreateObject(”ADODB.Recordset“、 sql=”select}from表名称where条件语句” s.rOpen sql,conn,1,1 3查询分页解决方案 3.1数据库的连接与查询 3.1.1关键技术 3.2分页显示方法 ADO为ASP内置server对象数据库访问控件.它主要包括7 个对象,分别是Command、Connection、Error、Field、Parameter、 一3.2.1关键技术 显示数据库中数据,主要用Field对象来实现。Field对象表示 般数据类型的字段。Recordset对象含有由Field对象组成的 Property和Recordset。数据库的连接与查询主要用到Connection、 Error和Recordset等对象。 Connection对象主要是建立一个数据源的连接。主要用到的 就是Open和Close方法 Open方法建立到数据源的物理连接,使用Close方法将其断 开。通过ASP的server对象的CreateObjct方法,可以创建C0le1一 nection对象和使用变量接受对象引用。一旦连接对象创建后.就 收稿日期:2006-03-07 Fields集合。每个Field对象对应于Recodsret中的一列。使用 Field对象的Value属性可设置或返回当前记录的数据。 实现分页功能时,主要用Recordset对象的PageSize Abso. 1utePage PageCount等三个属性。其中PageSize属性用来设置一页 中包含的记录数,AbsolutePage对象用来指定当前要显示的页码。 (下转第17页1 作者简介:崔娟(1982一),女,湖北恩施人,硕士研究生,主要研究方向:计算机支撑技术及电子商务;阎冰洁(1981-),女,山西运城人。硕士研究 生,主要研究方向:计算机支撑技术及电子商务;熊前兴(1943一),男,湖北洪湖人,教授,博士生导师,主要研究方向:电子商务、计算机支撑技术。 维普资讯 http://www.cqvip.com \.数据库与信息管理...... 电脑知识与技术 (31基于数据挖掘技术的仓储管理监控系统,数据预处理模 通过学习进行模式识别。 块,从智能接口获取监控信息,并对信息数据进行预处理,并将于 决策树:代表着决策集的树形结构。 ‘ 处理后的数据信息传送给数据挖掘处理模块;数据挖掘处理模 遗传算法:基于进化理论,并采用遗传结合、遗传变异、以及 块.主要是通过对有关信息的处理分析,并将处理完的结果传送 自然选择等设计方法的优化技术。 给结果信息处理模块快;结果信息处理模块,将数据挖掘处理模 . 近邻算法:将数据集合中每一个记录进行分类的方法。 块处理的结果与智能接口实现信息互通。最终帮助仓储系统提供 规则推导:从统计意义上对数据中的“如果一那么”规则进行 决策依据,提升决策效率和正确性。根据决策者提出的问题特点, 寻找和推导等。 确定挖掘的任务或目的.对数据仓库中的相关数据进行精简和预 数据挖掘技术未来必将被直接集成到许多大型的物流和供 处理,再从精简后的数据中挖掘出新的、有效的新知识,提供给数 应链系统中.在仓储管理等领域得到大规模的应用,并创造更大 据挖掘的仓储管理系统,由它给决策者提供有效的知识。 的经济和社会效益。 4结束语 供应链管理已成为竞争战略中非常重要的组成部分,企业通 过加强供应链管理.可以大大缩短满足消费者需求的时间,从而 获得无法复制的竞争优势。数据挖掘技术可以有效地提升企业的 市场反应速度,满足客户的需求.能够帮助企业获得充分的竞争 优势.并且这种优势是无法轻易复制的。基于数据挖掘技术的仓 储管理系统可以有效提升供应链的效能,降低企业运营成本和决 策效率.必将在未来有着巨大的市场前景。 参考文献: 【l】加入WTO对中国商业发展的影响【EB/OL].http://www. 3rd56.com. 【2]Ellram,L.M.Supply chain management:the industial organi- zation perspective[J】.International Journal of Phycical Distribution and logistics,1991,21(1):13-22. f31王茁,顾洁.用智能之光照亮整个供应链.三位一体的商务智能. 图1 系统结构图 3_3仓储管理系统中数据挖掘技术的广泛使用 [4]Inventory Predictive Modeling via Microsfot SQL Server 2005 通过在仓储管理中数据挖掘技术的有效应用,可以控制物流 Analysis Services,http://thesource.foallevil.com/china/techneffprodtech 成本,提高仓储效率,帮助公司在竞争中处于更加有力的地位。比 nol/sql/2005/ipmvssas.mspx. 如库存平衡控制、货品摆放、运输路径等。而数据挖掘的应用则可 【5】带时间窗约束的配载车辆调度问题研究.物流技术. 以采用多种算法来实现,比如: 『61基于专家系统的自动化立体仓库出入库调度研究.物流技 人工神经网络:仿照生理神经网络结构的非线形预测模型. 术. (上接第6页) 很容易引起文件的写冲突。 这时RecordSet游标会移到该页的开始位置,PageCount属性则可 ASP的Session对象用来存储特定用户会话所需的信息。这 以返回RecordSet中的页数。 样.当用户在应用程序的Web页之间跳转时,存储在Session对象 3.2.2关键代码 中的变量将不会丢失.而是在整个用户会话中一直存在下去。当 ifnot rs.bof and not rs.eof then 用户请求来自应用程序的Web页时.如果该用户还没有会话。则 dim page_size Web服务器将自动创建一个Session对象。当会话过期或被放弃 dim page_no 后.服务器将终止该会话。 ・ dim page_totla 用如下语句将表单的内容保存到session中: page_size=20//设置每页记录数 session(”userid”)=request(”userid”); if request(”page_no”、=””then session(”passwd”)=request(”passwd”); page_no=1 需要时可用下面的语句取出session: else userid=session(”usefid”); page_no=cint(erquest(”page_no”)) passwd=session(”passwd”); end if 4结束语 sr.pagesize=page..size 数据库的查询分页技术是web应用中的一种通用技术。文中 page_total=rs.pagecount 所讨论的基于ASP的查询分页技术,源自实际开发中的需求.根 sr.absolutepage=page—no//设置当前页码 据需求给出了相应的解决方案.希望对使用ASP开发Web应用 …,/插入显示内容的代码 程序中遇到的类似问题有所帮助和启发。 end if 3_3页面保存方法 参考文献: 查询分页时,并不希望重复输入查询条件等信息.这就意味 【l】尚俊杰.网络程序设计一ASP[MI.北京:北方交通大学出版社, 20o2. 着程序要将前面访问过的网页的数据保存起来。而web访问的 HTI1)协议本身是一种无状态的协议,无法记住前面页的修改.而 [2]梅申信,梅林.用ASP/ADO实现web数据浏览分页显示【J】. 安徽农业大学学报,2003,30f41:45l-454. 把数据保存在磁盘文件或数据库中也不合适,因为这是应用程 序,可能会有很多Web用户同时访问,将这些中间结果保存在磁 [3】赵小林,陈英,刘然.动态网页规划与实现机制[J】.北京理工 大学学报,2001,2lf1):133—136. 盘或数据库中不仅会在Web服务器上产生大量的垃圾文件。而且