WillExecute 事件 (ADO)

WillExecute 事件在连接上执行挂起的命令之前被调用。

语法

  
WillExecute Source, CursorType, LockType, Options, adStatus, pCommand, pRecordset, pConnection  

参数

Source
一个 String,包含 SQL 命令或存储过程名称。

CursorType
一个 CursorTypeEnum,包含要打开的 Recordset 的游标类型。 使用此参数,可以在记录集 Open 方法 (ADO Recordset) 操作期间将游标更改为任何类型。 对于任何其他操作,CursorType 将被忽略。

LockType
一个 LockTypeEnum,包含将要打开的 Recordset 的锁定类型。 使用此参数,可以在 RecordsetOpen 操作期间将锁定更改为任何类型。 对于任何其他操作,LockType 将被忽略。

选项
一个 Long 值,指示可用于执行命令或打开 Recordset 的选项。

adStatus
调用此事件时可能是 adStatusCantDeny 或 adStatusOK 的 EventStatusEnum 状态值。 如果是 adStatusCantDeny,则此事件可能不会请求取消挂起的操作。

pCommand
应用此事件通知的命令对象 (ADO) 对象。

pRecordset
此事件通知适用的记录集对象 (ADO) 对象。

pConnection
应用此事件通知的连接对象 (ADO) 对象。

备注

由于连接可能会发生 WillExecute 事件。 Execute 方法(ADO 连接)Execute 方法(ADO 命令)Open 方法(ADO 记录集)方法。pConnection 参数应始终包含对 Connection 对象的有效引用。 如果事件是由 Connection.Execute 引起的,则 pRecordset 和 pCommand 参数设置为 Nothing。 如果事件是由 Recordset.Open 引起的,则 pRecordset 参数将引用 Recordset 对象,并且 pCommand 参数设置为 Nothing。 如果事件是由 Command.Execute 引起的,则 pCommand 参数将引用 Command 对象,并且 pRecordset 参数设置为 Nothing。

WillExecute 允许你检查和修改挂起的执行参数。 此事件可能会返回取消挂起命令的请求。

注意

如果 Command 的原始源是由 CommandStream 属性 (ADO) 属性指定的流,则将新字符串分配给 WillExecute Source 参数会更改 Command 的源。 CommandStream 属性将被清除,并且 CommandText 属性 (ADO) 属性将使用新源进行更新。 CommandStream 指定的原始流将被释放,无法访问。

如果新源字符串的方言与 Dialect Property 属性的原始设置(对应于 CommandStream )不同,则必须通过设置 pCommand 引用的命令对象的 Dialect 属性来指定正确的方言。

另请参阅

ADO 事件模型示例 (VC++)
ADO 事件处理程序摘要
连接对象 (ADO)