ADO三大对象的属性、方法、事件及常数(一)
Connection对象
属性
属性名称 数据类型和用途
Attributes 可读写Long类型,通过两个常数之和指定能否使用保留事务(retainning transactions)。常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务;常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务。默认值为0,表示不使用保留事务。
CommandTimeout 可读写Long类型,指定中止某个相关Command对象的Execute调用之前必须等待的时间。默认值为30秒。
ConnectionString 可读写String类型,提供数据提供者或服务提供者打开到数据源的连接所需求的特定信息
ConnectionTimeout 可读写Long类型,指定中止一个失败的Connection.Open方法调用之前必须等待的时间,默认值为15秒。
CursorLocation 可读写Long类型,确定是使用客户端(adUseClient)游标引擎,还是使用服务器端(adUseServer)游标引擎。默认值是adUseServer。
DefaultDatabase 可读写String类型,如果ConnectString中未指定数据库名称,就使用这里所指定的名称,对SQL Server而言,其值通常是pubs
IsolationLevel 可读写Long类型,指定和其他并发事务交互时的行为或事务。见IsolationLevel常数
Mode Long类型,指定对Connection的读写权限。见Mode常数
Provider 可读写String类型,如果ConnectionString中未指定OLE DB数据或服务提供者的名称,就使用这时指定的名称。默认值是MSDASQL(Microsoft OLE DB Provider for ODBC)。
State 可读写Long类型,指定连接是处于打开形状,还是处于关闭形状或两头形状。见State常数
Version 只读String类型,前往ADO版本号。
留意:上面所列出的大多数可读写的属性,只要当连接处于关闭形状时才是可写的。
只要当用户为Connection对象用BeginTrans...CommitTrans...RollbackTrans方法定义了不遗余力,事务隔离程度的指定才真正无效。如果有多个数据库用户同时执行事务,那么使用程序中必须指定如何呼应运转中的其他事务。
方法
方法 用途
BeginTrans 初始化一个事务;其后必须有CommitTrans和/或RollbackTrans相呼应
Close 关闭连接
CommitTrans 提交一个事务,以完成对数据源的永世改变(要求使用之前必须调用了BeginTrans方法)
Execute 人SELECT SQL语句前往一个forward-only Recordset对象,也用来执行那些不前往Recordset语句,如INSERT、UPDATE、DELETE查询或DDL语句
Open 用连接字符串来打开一个连接
OpenSchema 前往一个Recordset对象以提供数据源的结构信息(metadata)
RollbackTrans 取消一个事务,恢复对数据源做的临时性改变(要求使用之前必须调用了BeginTrans方法)
注:只要Execute、Open和OpenSchema三个方法才能接受变元参数。Execute的语法为:
cnnName.Execute strCommand,[lngRowsAffected[,lngOptions]]
strCommand的值可以是SQL语句、表名、存储过程名,也可以是数据提供者所能接受的任意字符串。为了提高功用,最好为lngOptions参数指定合适的值(详见lngOptions参数用到的常数),以使提供者解释语句时不用再去判定其类型。可选参数lngRowsAffected将前往INSERT、UPDATE或DELETE查询执行当前所影响的数目。这些查询会前往一个关闭的Recordset对象。一个SELECT查询将前往lngRowsAffected值为0并且前往带有一行或多行内容的打开的forward-only Recordset。
事件
事件名称 触发时机
BeginTransComplete BeginTrans方法执行当前。
Private Sub cnnName_BeginTransComplet(ByVal TransactionLevel As Long,ByVal pError As ADODB.Error,adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
CommitTransComplete CommitTrans方法执行当前
Private Sub Connection1_CommitTransComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
ConnectComplete 成功建立到数据源的Connection之后
Private Sub Connection1_ConnectComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
Disconnect Connection关闭之后
Private Sub Connection1_Disconnect(adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
ExecuteComplete 完成Connection.Execute或Command.Execute之时
Private Sub Connection1_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection)
InfoMessage 一个Error对象被添加到ADODB.Connectio.Error集合之时
Private Sub Connection1_InfoMessage(ByVal pError As&n