最新的Web开发教程
 

ADO WillExecute和ExcuteComplete在活动


<完整的连接对象参考

事件是可以发生的特定操作后会自动调用的子程序。

  • WillExecute事件可以只是objcomm.Execute,objconn.Execute,或objrs.Open呼叫前被解雇。
  • ExecuteComplete事件可以到objcomm.Execute,objconn.Execute,objrs.Open,objrs.Requery通话之后被解雇,或objrs.NextRecordset完成。

句法

WillExecute src,cursortyp,locktyp,options,
status,objcomm,objrs,objconn

ExecuteComplete recaffected,objerror,status,
objcomm,objrs,objconn

参数 描述
src 包含一个SQL命令或存储过程的名称的字符串
cursortyp 指定要使用光标的类型。 其中的CursorTypeEnum
locktyp 指定要使用的锁定类型。 其中的LockTypeEnum
options 一个或多个的CommandTypeEnum之中ExecuteOptionEnum的
recaffected 的受执行记录数
objerror 包含发生的错误的Error对象。

Note:该EventStatusEnum值必须设置为adStatusErrorsOccurred,以创建Error对象。

status 一个EventStatusEnum
objcomm 对于WillExecute :设置为被执行,或者没有Command对象

对于ExecuteComplete :被执行的命令对象

objrs 对于WillExecute :设置起因于命令或没有执行的Recordset对象

对于ExecuteComplete :所述的记录对象,它是执行命令的结果

objconn 与所述命令的执行相关联的连接对象

CursorTypeEnum值

指定在记录对象使用光标的类型。

不变 描述
adOpenUnspecified-1 不指定游标类型。
adOpenForwardOnly0 默认。 使用只进游标。 相同的静态游标,但您只能通过记录向前滚动。 当你需要通过一个记录集仅做一个通这样可以提高性能。
adOpenKeyset1 使用键集游标。 就像一个动态游标,但你不能看到其他用户添加的记录,尽管其他用户删除的记录从您的Recordset不可访问。 其他用户的数据更改依然可见。
adOpenDynamic2 使用动态光标。 添加,更改和其他用户删除是可见的,并通过记录所有类型的运动被允许,除了书签,如果提供者不支持他们。
adOpenStatic3 使用静态游标。 一组可以用来查找数据或生成报表的记录的静态副本。 添加,更改或由其他用户删除是不可见的。

LockTypeEnum值

不变 描述
adLockUnspecified-1 不指定类型的锁。 用于克隆,该克隆与所述相同的锁类型与原始创建的。
adLockReadOnly1 指示只读记录。 你不能改变的数据。
adLockPessimistic2 表示悲观锁定,通过记录记录。 该供应商做什么是必要的,以确保记录编辑成功,通常是通过在编辑后立即将数据源锁定记录。
adLockOptimistic3 表示乐观锁定,通过记录记录。 提供者使用开放式锁定,锁定的记录,只有当你调用Update方法。
adLockBatchOptimistic4 表示乐观批更新。 需要批更新模式。

CommandTypeEnum之中价值观

不变 描述
adCmdUnspecified-1 不指定命令类型参数。
adCmdText1 CommandText作为一个命令的文本定义或存储过程调用。
adCmdTable2 CommandText作为其列全部由内部生成的SQL查询返回的表名。
adCmdStoredProc4 CommandText作为存储过程的名称。
adCmdUnknown8 表示命令的在CommandText属性的类型是未知的。
adCmdFile256 CommandText作为一个永久存储的Recordset的文件名。 它仅适用Recordset.Open或重新查询。
adCmdTableDirect512 CommandText作为其列全部返回的表名。 它仅适用Recordset.Open或重新查询。 要使用Seek方法,那么Recordset必须以adCmdTableDirect打开。 这个值不能与ExecuteOptionEnum的价值adAsyncExecute结合。

ExecuteOptionEnum的价值观

不变 描述
adOptionUnspecified-1 表示该命令是不确定的。
adAsyncExecute16 指示命令应该异步执行。 这个值不能与CommandTypeEnum之中值adCmdTableDirect结合。
adAsyncFetch32 指示在CacheSize属性中指定的初始量后的剩余的行是否应该异步获取。
adAsyncFetchNonBlocking64 表明主线程不会阻塞在检索。 如果请求的行尚未提取,当前行自动移动到文件的末尾。 如果从包含永久存储的Recordset的Stream打开Recordset,那么adAsyncFetchNonBlocking将不会产生影响; 操作将是同步的和阻塞。 adAsynchFetchNonBlocking将当adCmdTableDirect选项用于打开记录没有影响。
adExecuteNoRecords128 指示该命令的文本是一个命令或者不返回行存储过程(for example, a command that only inserts data) 。 如果任何行被检索,它们将被放弃,并没有回来。 adExecuteNoRecords只能作为可选参数到命令或连接Execute方法进行传递。
adExecuteStream256 指示命令执行的结果应作为流的形式返回。 adExecuteStream只能作为可选参数的命令Execute方法进行传递。
adExecuteRecord512 表示在CommandText是一个命令或存储过程返回单行应该返回作为记录对象。

EventStatusEnum值

不变 描述
adStatusOK1 引发该事件的操作成功
adStatusErrorsOccurred2 引发该事件的操作失败
adStatusCantDeny3 不能取消挂起操作
adStatusCancel4 取消引发该事件的操作
adStatusUnwantedEvent5 防止后续的通知之前的事件方法执行结束

<完整的连接对象参考