论文部分内容阅读
[摘要]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.
作者简介:
李艳丽,女,汉,河南商丘,商丘职业技术学院,学士,讲师,主要研究方向:计算机软件开发及应用。
[关键词]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.
作者简介:
李艳丽,女,汉,河南商丘,商丘职业技术学院,学士,讲师,主要研究方向:计算机软件开发及应用。