[摘要]一、ADO概述ActiveX 数据对象 (ADO) 是一种既易于使用又可扩充的技术,用来将数据库访问添加到您的 Web 页可以使用 ADO 编写简洁和可升级的脚本以连接到与 OLE DB 兼容的数据...
ActiveX 数据对象 (ADO) 是一种既易于使用又可扩充的技术,用来将数据库访问添加到您的 Web 页可以使用 ADO 编写简洁和可升级的脚本以连接到与 OLE DB 兼容的数据源,如数据库、电子表格、顺序数据文件或电子邮件目录。OLE DB 是一个系统级的编程接口,它提供一套标准的 COM 接口,用来展示数据库管理系统的功能。使用 ADO 的对象模型,您可以轻松地(使用 VBScript 或 JScript 等脚本语言)访问这些接口并将数据库功能添加到您的 Web 应用程序中。另外,您还可以使用 ADO 访问与开放式数据库互连 (ODBC) 兼容的数据库。 |
如果您是一位对数据库互连知识有一定了解的脚本编写者,您将会发现 ADO 的命令语法很简单,而且很容易使用。如果您是一位经验丰富的开发人员,您将会非常欣赏 ADO 提供的这种可升级的对各种数据源的高性能访问。 |
一般的网页访问中访问数据库是按照下列步骤进行的,首先建立一个ADODB.Connection 接口的对象,接着在这一个对象上绑定相应的数据源(可以用有名数据源和无名数据源),根据需要建立或者不建立记录集,然后在该数据源上链接用执行或打开的方法来对相应的表进行操作。 |
Set oConn=Server.CreateObject(“ADODB.Connection”) |
Set oRS=Server.CreateObject(“ADODB.RecordSet”) |
set strConn="Provider=SQLOLEDB;User ID=sa; Initial Catalog=Pubs;Data Source=" &request.ServerVariables("SERVER_NAME") |
set ORS=oConn.execute(“select * from test”) |
以上介绍了无名链接的OLEDB的使用方法,如果是有名链接,设为数据源test,用户名和口令均为空,则只需要改写一下上述语句oConn.open “test”,””,”” |
上面简要介绍了一下对于网页中涉及到数据库访问的一般方法,这些已经是很成熟的,也是很有用的,如果在实际中对于某些数据的存取过于复杂,需要近10条SQL语句才能写完,那么这种方法就有点欠缺,另外有些时候需要使用相同的处理过程,而在不同的网页中使用,而这用存储过程则是最有利的,还有一个最大特点是存储过程对于技术的保密性相对高些,它存储于远端服务器的数据库内。 |
在ADO中提供了对存储过程的访问,它需要用到command对象,在这个对象上用户可以直接执行SQL服务器的存储过程,而命令中所需要的参数可以借助于其属性Pamaters来进行处理。 |
注意 一个 Command 对象要想有效,必须和一个 Connection 对象相关联,方法是Command 对象的 ActiveConnection 属性就被设置到这个 Connection 对象。如果一个 Connection 对象不能被标识,在您将它与一个连接关联之前,Command 对象是无效的。 |
Set oConn = Server.CreateObject("ADODB.Connection") |
set oCmd = Server.CreateObject("ADODB.Command") |
set ors1=Server.CreateObject("ADODB.RecordSet") |
' 打开链接,使用用户标识SA,口令为空,连接为本地服务器上的数据库 |
strConn="Provider=SQLOLEDB;User ID=sa;Initial Catalog=pubs;Data Source="& Request.ServerVariables("SERVER_NAME") |
'如果连接一个远端的数据库,该数据库地址为:10.82.88.105,用户为tmp,口令为123, |
‘ strConn="Provider=SQLOLEDB;User ID=tmp;pwd=123;Initial Catalog=tjbb;Data Source="& "10.82.88.110" |
Set oCmd.ActiveConnection = oConn |
' 设置调用存储过程byroyalty和参数,参数由?引入 |
oCmd.CommandText = "{call byroyalty(?)}" |
oCmd.Parameters.Append oCmd.CreateParameter("@Percentage", adInteger, adParamInput) |
‘在asp中上述输入参数的使用也可不用参数属性来实现直接用VB中的&来形成命令文本中对应的数据即可 |
ors1.activeconnection=oconn |
‘该命令对象中也可应用一般的SQL语句使用Source和open属性,其中source指出数据源 |
ors1.source ="select * from [tmptable] where 年份=2000 and 月份=1" |
ors1.cursortype=adopenstatic |
利用SQL的语言可以编写对于数据库访问的存储过程,其语法如下: |
CREATE PROC[EDURE] procedure_name [;number] |
{@parameter data_type} [VARYING] [= default] [OUTPUT] |
关键词:用存储过程完成ASP对数据库访问