ASP数据库访问技术(一)

ASP数据库访问技术(一)

      ADO概述

ADO(ActiveX Data Object)是一组优化的访问数据库的专用对象集,它为ASP提供了完整的站点数据库访问解决方案。ADO对象在服务器端执行,并向客户端提供含有数据库信息的内容,客户端也可以根据指定的权限返回参数来对数据库进行读写等操作。ADO的特点就是执行速度快、使用简单、低内存消耗且占用硬盘空间小。

因为ADO是通过ODBC来对数据库进行访问的,所以它可以连接各种支持ODBC的数据库,如Access、SQL Server、Oracle、Informix等。在使用ADO之前要先在ODBC中添加相应的数据库驱动程序,并创建相应的DSN(数据源名)。ADO 中包含许多对象,其中Connection对象和Recordset对象主要用于控制数据库存取,要建立一次数据库访问首先要创建一个 Connection对象,然后用基于这个Connection对象的Recordset对象来完成对数据库从操作。

l         Connection对象

Connection对象代表了一个打开的同OLE DB数据源的连接,它有点类似于client/server数据库应用中同Server间的真实网络连接,我们可以独立于任何其它对象建立一个 Connection对象。注意,在引用一个Connection之前首先要创建这个Connection对象,其语法如下,其中connection为引用该Connection对象的变量:Set connection=Server.CreatObject(“ADODB.Connetcion”)

Connection对象中包含有多个属性,下面是几个常用的属性,注意只能在创建Connection对象之后且该对象被打开前改变其属性。语法如:Connection.属性=属性值

1. ConnectionString是一个包含连接信息的字符串,将一个“DSN名”或是一个由“argument = value”组成的字符串传递给ConnectionString属性,可以为Connection对象指定一个数据源,此属性可以在连接打开前设置,也可以在“Open”命令中设置。ADO中的argument有以下几个:

  参数描述

  Provider该Connection对象的创建者,默认值为MSDASQL

  (Microsoft ODBC Provider for OLE DB)

  Data Source指定该Connection的ODBC数据源(DSN)

  User设置打开该连接的用户名

  Password设置打开该连接时所需要的密码

  File Name由创建者指定的包含该Connection信息的文件

  (如已经注册的数据源对象)

2. Mode

  可以设置为以下常量的参数,用来设置用户对当前连接的访问权限。

  常量值含义

  adModeUnknown 0未设置对数据库的操作权限(默认)

  adModeRead 1只读

  adModeWrite 2只写

  adModeReadWrite 3可以读写

  adModeShareDenyRead 4禁止对数据源建立其它的只读连接

  adModeShareDenyWrite 8禁止对数据源建立其它的只写连接

  adModeShareExclusive 12禁止对数据源建立其它的读/写连接

  adModeShareDenyNone 16禁止对数据源建立其它的任何连接

3. ConnectionTimeout指定等待建立连接的时间,若超时则中断请求并给出错误信息。等待时间以秒为单位,可以将一个整数值赋给这个参数,默认值是15秒。设置ConnectionTimeout属性可以在网络拥挤或服务器忙时给出提示,防止无休止的等待。若将 ConnectionTimeout的值设置为0,则系统一直等待直到连接建立成功。

4. CommandTimeout指定当执行“Execute”命令时的等待时间,若超时则中断请求并给出错误信息。等待时间以秒为单位,可以将一个整数值赋给这个参数,默认值是30秒。

  使用Connection对象的Open、Close和Execute方法可以完成从建立数据库连接,到操纵数据库和最后关闭连接的所有数据库访问动作。

  1. Open Open方法打开Connection对象同数据源之间的物理连接,语法如下:

  connection. Open ConnectionString,UserID,Password

  connection代表一个对象变量,用于引用已经存在的Connection对象。

  ConnectionString可选变量,含义同前面提到的ConnectionString属性。

  UserID可选变量,是一个包含建立连接时使用的用户名的字符串。

  Password可选变量,是一个包含建立连接时所使用的密码的字符串。

  2. Close用Close方法可以关闭一个已经打开的Connection对象,但是此时该Connection对象并没有被从内存中删除,我们还可以改变它的属性参数或是打开这个对象,若要真正释放该对象占用的内存空间需要将这个对象设置为“Nothing”。如果基于此Connection对象还打开了其它的RecordSet对象,在关闭Connection对象的同时会关闭所有相关的recordSet对象。

  3. Execute使用Execute可以根据已经打开的Connection对象执行SQL语句或一个存储过程,并可以用一个RecordSet对象指向得出的结果集合。Execute命令的语法如下:

  connection.Execute CommandText, RecordsAffected, Options

  CommandText字符串,包含将要执行的SQL语句、表名或存储过程。

  RecordsAffected可选参数,一个长整型变量,操纵执行完后,其返回值为该操纵影响的记录的数量。

  Options可选参数,描述CommandText中包含何种操纵参数,有以下可用值:

  常量值含义

  adCmdText 1CommandText是一个用SQL语句描述的命令

  adCmdTable 2 CommandText是一个表名

  adCmdStoredProc 4 CommandText是一个存储过程

  adCmdUnknown 8 CommandText是一个未知的命令类型

  使用Connection对象的各种方法可以完成对数据库的各种访问动作,比如添加、删除、更新和选取等操作。下面给出一个例子,在这段程序中将向表 tbl_test中添加一个记录,该表中共有两个字段id和name,在这个例子中我们使用的DSN为“person”。

  <%

  '创建Connection对象DataConn

  Set DataConn=server.CreateObject(“ADODB.Connection”)

  '设置DataConn的Mode属性值为3(可以读写)

  DataConn.Mode=3

  '通过DSN(person)建立Connection对象DataConn同数据库间的连接

  DataConn.Open“person”

  '用Execute方法执行SQL语句在表tbl_test中增加一条记录,其中id值为“1”,name值为“张强”

  DataConn.Execute(“INSERT INTO tbl_test VALUES(`1',`张强'”)

  '关闭Connection对象

  DataConn.Close

  Response.Write“保存完毕”

  %>

  将上面的程序保存为一个asp文件,从客户端来访问这个文件将看到“保存完毕”,打开数据库会发现表tbl_test中增加了一条id值为“1”、 name值为“张强”的记录。通过Execute方法我们可以使用不同的SQL语句来实现添加、删除、更新等各种数据库操作。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值