构建基于ASP与ADO的Web数据库动态连接

来源 :硅谷 | 被引量 : 0次 | 上传用户:eagleqizha
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]ASP与ADO是一种完全的Web数据库访问解决方案,使用它可以很容易地对数据库进行访问,首先对ASP与ADO进行了简单介绍,接着说明基于ASP的Web数据库访问的工作过程及原理,在此基础上给出基于ASP与ADO的Web数据库连接的具体实例。
  [关键词]ASP ADO Web 数据库 动态连接
  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0910039-02
  
  一、引言
  
  随着Internet技术的发展,人们已不满足于在Web浏览器上获取静态的信息,更希望动态地查询和修改各种数据。浏览网页时,网上调查、聊天室、留言板等功能模块,都是用ASP与数据库相结合的技术来实现的。而ASP技术作为新一代高效的WEB应用程序开发技术,编程灵活、简洁,具有较高的性能,是目前访问WEB数据库的最佳选择。ADO技术是ASP技术用来访问数据库的核心,它提供了强大而灵活的数据访问功能,极大地改变了以往应用程序中检索、处理和存储数据的方式。本文结合实例讨论利用ASP与ADO技术对数据库的连接、访问和操作的基本方法和步骤。
  
  二、ASP概述
  
  ASP (Active Server Page)是一个基于Web服务器端的面向对象的脚本编写开发环境,利用它可以创建和运行动态、交互的、高性能的Web服务器应用程序。ASP的主要特性是能够把HTML、脚本、组件等有机组合在一起,形成一个能够在服务器上运行的应用程序,并把按用户要求专门制作的标准HTML页面送给客户端浏览器。当浏览器向Web服务器提出文件的请求时,Web服务器响应,调用ASP引擎来执行ASP文件,并解释其中的脚本语言(JavaScript或VbScript),并执行每一条命令,通过ODBC连接数据库,由数据库访问组件ADO完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。
  由于ASP在服务器端运行,命令和Script语句都是由服务器来解释执行的,可以使用服务器端的脚本来产生客户端的脚本。用户端可使用通用的浏览器,ASP的源程序不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
  ASP使用VbScript、JavaScript等简单易懂的脚本语言,结合html代码,可以较快速地完成应用程序的开发,具有编程简单、修改容易、无须编译,可嵌入性,支持广泛,源代码保密性强等特点。ASP不需要别的设计环境,文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成;ASP除支持VBScript、JavaScript外,还能以插件形式支持第三方语言,如REXX、Perl、Tcl等。ASP通过后缀名为.asp的ASP文件来实现,一个ASP文件相当于一个可执行文件。当浏览器向Web服务器请求调用ASP文件时,Web服务器开始调用ASP,动态生成一个HTML页面并传送到浏览器;另外,ASP程序还提供多个内建的对象,如Request取得用户信息,Response传送信息给用户,Session一个用户的信息,Application所有用户的信息,Server服务器的功能等。通过ASP内置的对象、服务器组件可以完成非常复杂的任务。
  
  三、ADO技术
  
  ADO(ActiveX Data Object)是Web数据库应用的最佳选择,ADO技术与ASP相结合以建立数据交互的网页内容,并在网页中执行SQL指令,让用户在浏览器页面中查询、输入、删除、更新Web服务器上的数据资料。Web页面设计人员可以使用ADO中许多继承子对象来轻松地操作数据库。在ADO运行的时候,这些子对象之间相互影响,相互制约。
  在Activex数据的七大对象中,使用最多的三个主要对象是Connection、Command和Recordset,这三个对象是ADO的核心部分。其中Connection对象用来创建数据库和ADO程序之间的连接,也就是传遞指定的SQL命令;Command对象负责对数据库提供请求,Recordset对象可以查看或操作数据库中返回的数据。仅凭这三个对象是无法完成对数据库的存取操作,还必须具有存取数据库的ODBC或OLEDB驱动程序。对于任何一种数据库都必须有相对应的ODBC和OLEDB驱动程序,ADO对象只有与各种数据库的驱动程序相结合,才能实现对数据库的存取。而Field对象和Fields集合允许对当前记录的每一个字段进行操作;Parameter对象和Parameters集合为Command对象提供信息和数据;Property对象和Properties集合为Connection,Command,Recordset,Field对象的特性提供信息;Error对象和Errors集合在错误发生时提供错误信息。
  
  四、在ASP中利用ADO对象实现对数据库的连接
  
  在ASP中实现对数据库动态连接,可采用ASP内置ActiveX服务器组件数据库访问组件,使用ADO技术通过在WEB服务器上设定ODBC,来建立与多种数据库的连接,其中包括SQL Server、Oracle、Access等各种大、中、小型数据库。利用ASP与ADO实现访问Web数据库的过程如图1所示:
  


  (一)建立数据源
  在使用ADO之前,需要先建立一个数据源。数据源包含了如何和一个数据提供者进行连接的信息。下一步,ADO才能使用数据源和数据库建立连接。;建立文件数据源的好处是连接信息存储在一个实际的文件中。方法是:在WEB服务器所在电脑上打开“控制面板”,选中“ODBC数据源”,在“系统DSN”下选“添加”,选定数据库种类、名称、位置等。
  (二)连接数据库
  访问数据库信息的第一步是和数据库源建立连接。ADO提供了Connection对象,可以使用该对象建立和管理应用程序和ODBC数据库之间的连接。Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。如:
  set conn=server.CreateObject("adodb.connection")
  conn.open"driver={MicrosoftAccess Driver (*.mdb)};
  dbq=" & Server.MapPath("text.mdb")
  (三)创建数据对象
  连接数据库后,通过设定SQL指令并使用Execute操作,可对数据库进行诸如查询,修改,删除等操作。ADO的数据对象通常保存的是查询结果。Recordset是ADO最复杂的对象,它保存的是一条条的记录,并标有一个当前记录。利用“Execute”等方法通过上面建立好的通道对数据库执行指令,通常都是建立一个有“SQL”语法所组成的字符串,当作此执行函数的输入参数;如要在数据表text中查询代码中含有“xm”的记录:
  sql="select*from text where 姓名='"&request("xm")&"'
  call chaxun(sql)
  (四)数据库的操作
  通过调用连接对象的execute方法来将查询结果返回给一个数据对象。Execute方法的参数是一个标准的sql语句串,所以利用它可以方便的执行数据的插入,修改和删除等操作。例如:
  sql=”insert into news values (‘aa’,’bb’, , ,) ”
  conn.execute(sql)
  sql=”update news set content = bbb”
  conn.execute(sql)
  (五)释放环境变量
  使用ADO对象之后,可以通过调用方法close实现关闭,然后再释放它。例如:
  <% rs. close
  set rs = nothing
  conn. close
  set conn = nothing %>
  
  五、应用实例
  
  下面这段示例程序是访问SQL SERVER数据库的signal tab表,表中有三个字段:code(代码字段,字符型,3位),class(分类字段,字符型,10位),memo(备注字段,字符型,20位)。程序中数据源DSN:HT,用户名:client,口令:password。屏幕输入页面input.asp
  <% @language=javascript %>
  <html>
  <form action =shotquery.asp METHOD =“ post”
  target=“ _self”>
  <input TYPE=“ text” NAME=signalCode VALUE=“ 代码”>
  <input TYPE=“ text” NAME=signalCode VALUE=“ 代码”>
  <input LANGUAGE“= javascript”TYPE=“ submit”VALUE=“ 确认” NAME=“ B1”>
  </form>
  </html>
  数据库处理程序shotquery.asp
  <script language=javascript runat=server>
  var signalCode=Request.Form“(signalCode”);
  dbConn=Server.CreateObje“ct(ADODB.Connection”);
  dbConn.ope“n(DSN=HT;UID=client;PWD=password”);
  rs=Server.CreateObject“(ADODB.RecordSet”);
  var sqlStr=“select*from signaltab where code=like”+“‘ %”+signalCode+“%’”;
  rs.open(sqlStr,dbConn,1);
  if (rs.RecordCount < 1) {
  Response.write“(<p>无符合条件记录</p>”);
  }
  else{
  for (var i=1;i<=rs.Pagesize;i++) {
  if (!rs.Eof){Response.write(rs“(code”)+rs“(class”)+rs“(memo”));
  rs.MoveNext();
  else break; }
  rs.close();
  dbConn.close();
  }
  </script>
  
  六、结束语
  
  构建基于ASP与ADO的Web数据库动态连接,利用ASP实现对Web数据库的各种访问,真正体现了ASP的实质服务器端动态网页。ASP技术开发成本低、维护简单、功能强大、占用服务器资源少、响应快,使用ASP访问数据库确实是理想的选择。随着网络应用范围的日益擴大,利用ASP对数据库的操作技术将会得到广泛的应用。
  
  参考文献:
  [1]谭浩强,动态网页制作ASP[M].电子工业出版社,2001.4.
  [2]振林主编,Asp 程序设计与应用[M].北京:机械工业出版社,2005.
  
  作者简介:
  李艳丽,女,汉,河南商丘,商丘职业技术学院,学士,讲师,主要研究方向:计算机软件开发及应用。
其他文献
[摘要]C++类中的静态成员是类中各个对象所共享的成员,从数据共享的角度出发,介绍静态成员在类中实现数据共享的方法、作用。  [关键词]C++ 静态成员 共享  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0910027-01    C++中类的成员分为静态数据成员和静态成员函数。它的作用类似于全局变量,可以实现C++多个对象之间的数据共享,但全局变量在程序中的可操
期刊
[摘要]主要针对IT企业信息化建设,总结工作中的实践经验和教训,在研究了IT企业信息化项目的特点基础上,从9大项目管理知识领域建立了适用IT企业特点的信息化项目管理架构,并对项目的综合管理加以了重点说明,对项目管理的工具和评价指标作了研究。   [关键词]项目管理 IT企业 信息化  中图分类号:F27文献标识码:A 文章编号:1671-7597(2008)0910032-01  企业信息化就是为
期刊
[摘要]数据库安全性问题一直是围绕着数据库管理员的噩梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫。围绕数据库的安全性问题提出一些安全性策略,希望对数据库管理员有所帮助。  [关键词]Oracle 数据库 数据库安全  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)0910025-01    数据库安全性问题应包括两个部分:一是数据库数据的安全
期刊
[摘要]针对Solaris 10 x86 Unix操作系统管理问题,阐述一种使用软件Webmin进行高效管理的方法,并详细介绍Webmin的模块化管理方式。  [关键词]Solaris Webmin Unix操作系统  中图分类号:TP316文献标识码:A 文章编号:1671-7597(2008)0910042-02    Solaris操作系统传统上是与Sun SPARC处理器的硬件体系结构结合
期刊
[摘要]伴随着信息技术的高速发展,我国的教育信息化进程不断推进。教育资源建设是教育信息化的基础,为新形势下的信息化课堂教学、远程教育、网络教育等教学模式提供最为基础的资源支持。而要整合众多的教育资源,实现对教育资源的有效管理,建立教育资源管理系统是十分重要的。结合J2EE技术,探讨ERMS资源管理子系统的设计与实现。  [关键词]J2EE 教育资源管理系统 资源管理  中图分类号:TP2 文献标识
期刊
[摘要]介绍一种通过逻辑芯片控制多组电容的VHF接收机预选滤波器,以实现中心频率可调谐,从而达到对宽频带的覆盖,并且有较好的选择性。采用专用软件ADS对所设计的滤波器进行仿真,并通过理论与实验的方法研究其性能。实验表明,测试结果与仿真结果基本吻合。  [关键词]预选滤波器 接收机 选择性  中图分类号:TN713 文献标识码:A 文章编号:1671-7597(2008)0910021-02    
期刊
[摘要]阐述Java垃圾回收的作用。介绍垃圾回收算法的优缺点,基于垃圾回收提出调优方法。最后给出编码建议。  [关键词]Java虚拟机 垃圾回收 性能调优  中图分类号:TP309.05 文献标识码:A 文章编号:1671-7597(2008)0910044-01    垃圾回收(Garbage Collection,GC)是Java程序设计中内存管理的核心概念,Java虚拟机(JVM)的内存管理
期刊
[摘要]智能天线技术对提高频谱利用率、消除多址干扰、提高系统容量发挥着重要作用,主要对智能天线原理及其常用算法进行分析,讨论其在SCDMA系统中的应用。  [关键词]智能天线 波束 SCDMA 自适应  中图分类号:TN821+.91文献标识码:A 文章编号:1671-7597(2008)0910011-02    一、前言    随着无线通信技术的发展,频率资源愈显珍贵。智能天线技术较好解决了复
期刊
[摘要]通过对盐田港2.5万吨码头高喷灌浆工作的总结介绍,希望达到提高高喷灌浆,特别是在巨厚抛填石层海水贯通等复杂的工程地质条件下的工程施工水平。  [关键词]概况 成孔 搭台 堵漏  中图分类号:TS3 文献标识码:A 文章编号:1671-7597(2008)0910086-01    一、前言    深圳盐田港2.5万吨码头始建于上个世纪90年代,码头为采用方块的重力式结构,其基础为抛石基床,
期刊
[摘要]随着地理信息系统(GIS)技术在各个应用领域的广泛使用,GIS技术与地理空间信息的表示、处理、分析和应用手段的不断发展紧密相连,形成了各种不同功能的GIS 系统软件。针对目前我国许多高校在对校园导航系统上的不足,采用先进的组件式GIS 技术开发实用校园导航系统。简要介绍MapObjects 2.0 控件,论述Visual Basic 2005编程环境和MapObjects 2.0 的结合实
期刊