ADO WillExecute 和 ExecuteComplete 事件

返回 ADO Connection 对象参考手册

定义和用法

事件是某个具体的操作发生后被自动调用的子例程。

语法

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

ExecuteComplete recaffected,objerror,status,objcomm,objrs,objconn
参数 描述
src 字符串,包含 SQL 命令或存储过程名称。
cursortyp 规定要使用的游标类型。CursorTypeEnum 值之一。
locktyp 规定要使用的锁定类型。LockTypeEnum 值之一。
options 一个或多个 CommandTypeEnumExecuteOptionEnum
recaffected Long 值,该命令影响的记录的数目。
objerror 包含已发生的错误的 Error 对象。

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

status 一个 EventStatusEnum 值。
objcomm

对于 WillExecute:如果此事件由 Command.Execute 引发,objcomm 参数将引用 Command 对象,objrs 参数将设置为 Nothing。

对于 ExecuteComplete:被执行的 Command 对象。

objrs

对于 WillExecute:如果此事件由 Recordset.Open 引发,objrs 参数将引用 Recordset 对象,pCommand 参数将设置为 Nothing。

对于 ExecuteComplete:Recordset 对象,是命令执行的结果。

objconn 与命令执行相关联的 Connection 对象。
本在线速查手册由www.w。 ゚3。 ゚x。 ゚u。 ゚e.com提供,请勿盗用!

CursorTypeEnum 值

规定在 Recordset 对象中使用的游标类型。

常量 描述
adOpenUnspecified -1 不指定游标类型。
adOpenForwardOnly 0 默认值。使用仅向前游标。除了在记录中只能向前滚动外,与静态游标相同。当只需要在 Recordset 中进行一个传递时,用它可提高性能。
adOpenKeyset 1 使用键集游标。尽管从您的 Recordset 不能访问其他用户删除的记录,但除了无法查看其他用户添加的记录外,它和动态游标相似。其他用户所作的数据更改依然可见。
adOpenDynamic 2 使用动态游标。其他用户所作的添加、更改或删除均可见,而且允许 Recordset 中的所有移动类型(如果提供者不支持书签,则书签除外)。
adOpenStatic 3 使用静态游标。一组记录的静态副本,可用于查找数据或生成报告。其他用户所作的添加、更改或删除均不可见。
本在线速查手册由www.w。 ゚3。 ゚x。 ゚u。 ゚e.com提供,请勿盗用!

LockTypeEnum 值

常量 描述
adLockUnspecified -1 未指定锁定类型。创建副本时,副本与源对象使用相同的锁定类型。
adLockReadOnly 1 指示只读记录。无法改变数据。
adLockPessimistic 2 指示逐个记录的保守式锁定。提供者要确保记录编辑成功,通常在编辑之后立即在数据源锁定记录。
adLockOptimistic 3 指示逐个记录的开放式锁定。提供者使用开放式锁定,仅在调用 Update 方法时锁定记录。
adLockBatchOptimistic 4 指示开放式批更新。需要批更新模式。
本在线速查手册由www.w。 ゚3。 ゚x。 ゚u。 ゚e.com提供,请勿盗用!

CommandTypeEnum 值

常数 描述
adCmdUnspecified -1 不指定命令类型的参数。
adCmdText 1 按命令或存储过程调用的文本定义计算 CommandText。
adCmdTable 2 按表名计算 CommandText,该表的列全部是由内部生成的 SQL 查询返回的。
adCmdStoredProc 4 按存储过程名计算 CommandText。
adCmdUnknown 8 默认值。指示 CommandText 属性中命令的类型未知。
adCmdFile 256 按持久存储的 Recordset 的文件名计算 CommandText。仅与 Recordset.Open 或 Requery 使用。
adCmdTableDirect 512 按表名计算 CommandText,该表的列被全部返回。仅与 Recordset.Open 或 Requery 使用。如需使用 Seek 方法,Recordset 必须通过 adCmdTableDirect 打开。该值不能与 ExecuteOptionEnum 值 adAsyncExecute 结合。
本在线速查手册由www.w。 ゚3。 ゚x。 ゚u。 ゚e.com提供,请勿盗用!

ExecuteOptionEnum 值

常量 描述
adOptionUnspecified -1 指示未指定命令。
adAsyncExecute 0x10 指示命令将异步执行。此值不能与 CommandTypeEnum 值 adCmdTableDirect 结合。
adAsyncFetch 0x20 指示在 CacheSize 属性中指定的初始数量以后的剩余行将被异步检索。
adAsyncFetchNonBlocking 0x40

指示检索时主线程从不会阻塞。如果未检索到所请求的行,当前行将自行移动到文件结尾。

如果从包含持久存储 Recordset 的 Stream 中打开 Recordset,那么 adAsyncFetchNonBlocking 将不起作用;该操作将同步进行并发生阻塞。

当 adCmdTableDirect 选项被用于打开 Recordset 时,adAsynchFetchNonBlocking 不起作用。

adExecuteNoRecords  

指示命令文本是不返回行的命令或存储过程(例如,仅插入数据的命令)。如果检索到任何行,它们将被放弃且不返回。通常与 CommandTypeEnum 值 adCmdText 或 adCmdStoredProc 组合在一起。

adExecuteNoRecords 只能作为可选参数传递给 Command 或 Connection Execute 方法。把它用作 Command 对象的 CommandType 属性的参数将产生错误。

adExecuteStream   指示命令执行的结果应作为流来返回。adExecuteStream 只能作为可选参数传递给 Command Execute 方法。
adExecuteRecord   指示 CommandText 是返回单一行的命令或存储过程,此行应作为 Record 对象来返回。
本在线速查手册由www.w。 ゚3。 ゚x。 ゚u。 ゚e.com提供,请勿盗用!

EventStatusEnum 值

常量 描述
adStatusOK 1 引发该事件的操作成功。
adStatusErrorsOccurred 2 引发该事件的操作失败。
adStatusCantDeny 3 不能取消挂起操作。
adStatusCancel 4 取消导致事件发生的操作。
adStatusUnwantedEvent 5 在事件方法执行结束之前禁止后续的通知。
本在线速查手册由www.w。 ゚3。 ゚x。 ゚u。 ゚e.com提供,请勿盗用!

返回 ADO Connection 对象参考手册