维普资讯 http://www.cqvip.com 《中国教育信息化》发行部:cyl@moe.edu.cn 栅栅神 5睁 刘冬杰 管理Web数据库的研究 华南师范大学教育信息技术中心 摘要:在基于B/S模式的教学管理信息系统的开发过程中.ADO技术和ASP技术 是实现的重点和难点,本文探讨了利用ADO技术和ASP技术相结合.实现了对Web数 据库中数据的管理。 关键词:Web数据库ASP ADO 中图分类号:TP311 文献标识码:B 文章编号:1673—8454(2007)07—0039—02 行脚本(VBScript,.Iscript)所要访问的数据库,请求调用 Com组件(Design Times ActiveX Contro1),存取后台SQL Server生成的HTML页面给客户端浏览器。 在一个基于B/S模式的教学管理信息系统的建设 中,常常会遇到通过Internet实现对数据库的操作问题。 为此,本文探讨了采用ADO技术与ASP技术结合,实现 对数据库的操作。 一下面以一个学生注册信息为例,介绍如何利用ASP 和ADO实现对WEB数据库的操作。 三、数据库的建立 、ADO技术 ADO不仅可以访问本地数据库,而且可以访问远程 数据库。ADO访问数据库是通过OLEDB实现的,ADO对 象库提供了一种单一并且统一的程序设计工具,这种工 具既可以访问存储在传统关系型数据库中的数据,也可 访问存储在非关系系统中的数据,见图1。f 应用程序 (sQL语句) 首先在Server建立一个SQL Server数据库,其中包 括一个Student表,字段有No(学号)、Name(姓名)、 department(系别)、Age(年龄)、Sex(性别)等。 然后,在Server上建立ODBC连接,DSN名为:JOB。 四、程序设计 ASP通过ADO来访问Web数据库。ADO是微软提 供的最有效的开发Web数据库的方案。它提供了一组优 化的访问数据库的专用对象。不论服务器使用哪种数据 库系统,ADO向程序员提供相同的接口。ADO的对象在 l A。。对象库 1 0LlFDB ADO(Active Data Objects) 服务器端执行,向客户端提供含有数据库信息的内容,客 户端指定的权限对数据库进行读写。 1.向Web数据库内增加新记录 用户界面的html形式的菜单见图2:其中学号栏目对 应的变量名为theNo,姓名栏目对应的变量名为theName, 所在系栏目对应的变量名为theDept,性别栏目对应的变 量名为theSex,年龄栏目对应的变量名为theAge。 学生基本信息录入 学号广————一 图1 ADO对关系型和非关系型数据源提供了统一的访问 二、ASP技术 ASP(Active Server Page)是基于服务器脚本执行环 境Server—Side Script Environment),利用ASP技术开发者 可以创建和运行动态的、交互式高效率的Web服务器 应用,当编写的脚本在服务器端执行(而不是在客户端执 行)时,Web服务器完成了所有的功能,其中包括解释执 行脚本,生成HTML页面并发送到客户机的浏览器中。 姓名所在系性别年龄厂—一广———一广————一广———一 客户端向服务器提出HTrP请求,给IIS响应请求并 将其交给ASP解释器,ASP调用相应的.ASP文件解释执 曩礴嚣/ 敷群/ 图2 China Education Info 39 维普资讯 http://www.cqvip.com 《中国教育信息化》煽辑部:mis ̄moe.edu.cn ‘,/添加记录到学生表中 数据库中的关键字相同的记录。 Set DataConrr=Server.CreateObject(“ADODB.Connechon’) DataConn.Open strODBC (2)查询Web数据库内的记录 Function LocateNo(strODBC,theNo) Set DataConn=Server.CreateObject f“ADODB. Connection”) DataConn.Open strODBC Set cmdConn=Server.CreateObject(“ADODB.Command”1 Set cmdRS=Server.CreateObject(“ADODB.Recordset”1 insertsql=”insert into Application values f‘‘+Request. Form(“theNo”) insertsql=insertsql+RequestForm(“theName”)+Request. Form(“theAge”)insertsql=insertsql+Request.Form(“theAge”) Set cmdConn=Server.CreateObject(“ADODB.Command”) Set cmdRS=Server.CreateObject(“ADODB.Recordset”) selectsql=’’select from application where No--’+heNo +”1” Set rs=cmdConn.Execute(insertsq1) DataConn.Close ⅡNot Err then Ret=True End If AddPerson=Ret End Function 2.删除、查询Web数据库内的数据 用户界面的html形式的菜单见图3:其中学号栏目对 应的变量名为theNo,用户可以按照学号栏目删除、查询 学生的信息。 学生基本信 删除、查询 学号厂一一 t l 曩黜豫\i盔 \ 。 : 。..-_J . . ;: :;:::-_J 图3 (1)删除学生表中的数据 Set DataConrr=Server.CreateObjec(‘'ADODB.Connection’) DataConn.Open strODBC Set cmdConn=Server.CreateObject(“ADODB.Command”1 Set cmdRS=Server.CreateObject(“ADODB.Recordset”1 deletesql=”delete from Application where No=’ Request.Form(“theNo”1 Set rs=cmdConn.Execute(deletesql1 DataConn.Close ⅡNot Err then Ret=True End If EditPerson=Ret End Function 说明:在实际使用时,往往请用户在Internet浏览器 中输入要删除的用户名以及用户名的密码。以避免删除 40中国教育信息化/2007.07滴教职教) Set IS=cmdConn.Execute(selectsq1) DataConn.Close If Not Err then Ret=True End If EditPerson=Ret End Function (3)建立输出对象 <table border=-l> <%for I=0 to rs.Fields.Count—l%> <TD><B><%=rs(I).Name%></B></TD> <%next%> </TR> <%do while not rs.eof%> <TR> <%ofr I=0 to rs.ifelds.count—l%> <td valign=top><%=cstr(rs(I)1%></td> <%next%> <% rs.moveNext loop rs.close conn.close %> </table> 五、小结 ASP可以使用任何的Script语言,只要提供相应的 脚本驱动engine)。ASP自身提供了VBScript和Jscript的 驱动。ASP可以将可执行的Script直接嵌入HTML文件, HTML开发和Script开发在同一开发过程就可完成。而且 通过ActiveX构件,可以实现非常复杂的WEB应用程序 开发。⑩ 参考文献: [1lI美】Rob Krumm编著.轻松学用ADO编程[M】.北京:电 子工业出版社.2001.6