菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

ADO WillExecuteExecuteComplete 事件


❮ 完整的 Connection 对象参考

事件是一种在特定操作发生后可以自动调用的子例程。

  • 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 值之一
选项 一个或多个 CommandTypeEnumExecuteOptionEnum
recaffected 执行影响的记录数
objerror 一个 Error 对象,包含发生的错误

注意:EventStatusEnum 值必须设置为 adStatusErrorsOccurred 才能创建 Error 对象

status 一个 EventStatusEnum
objcomm 对于 WillExecute:设置为已执行的 Command 对象或 Nothing

对于 ExecuteComplete:已执行的 Command 对象

objrs 对于 WillExecute:设置为执行命令产生的 Recordset 对象或 Nothing

对于 ExecuteComplete:执行命令产生的 Recordset 对象

objconn 与命令执行关联的 Connection 对象

CursorTypeEnum 值

指定 Recordset 对象中使用的光标类型。

常量 描述
adOpenUnspecified -1 不指定光标类型。
adOpenForwardOnly 0 默认。使用只进光标。与静态光标相同,但您只能向前滚动记录。当您只需要对 Recordset 进行一次遍历时,这会提高性能。
adOpenKeyset 1 使用键集光标。类似于动态光标,但您看不到其他用户添加的记录,尽管其他用户删除的记录无法从您的 Recordset 访问。其他用户的数据更改仍然可见。
adOpenDynamic 2 使用动态光标。其他用户的添加、更改和删除是可见的,并且允许通过 Recordset 进行所有类型的移动,除非提供程序不支持书签。
adOpenStatic 3 使用静态光标。一组记录的静态副本,可用于查找数据或生成报告。其他用户的添加、更改或删除不可见。

LockTypeEnum 值

常量 描述
adLockUnspecified -1 不指定锁类型。对于克隆,克隆以与原始相同的锁类型创建。
adLockReadOnly 1 表示只读记录。您不能更改数据。
adLockPessimistic 2 表示悲观锁定,逐条记录。提供程序会采取必要措施确保记录编辑成功,通常是在编辑后立即锁定数据源处的记录。
adLockOptimistic 3 表示乐观锁定,逐条记录。提供程序使用乐观锁定,仅当您调用 Update 方法时才锁定记录。
adLockBatchOptimistic 4 表示乐观批处理更新。批处理更新模式所需。

CommandTypeEnum 值

常量 描述
adCmdUnspecified -1 不指定命令类型参数。
adCmdText 1 将 CommandText 评估为命令或存储过程调用的文本定义。
adCmdTable 2 将 CommandText 评估为表名,其所有列都由内部生成的 SQL 查询返回。
adCmdStoredProc 4 将 CommandText 评估为存储过程名称。
adCmdUnknown 8 表示 CommandText 属性中的命令类型未知。
adCmdFile 256 将 CommandText 评估为持久存储的 Recordset 的文件名。仅与 Recordset.Open 或 Requery 一起使用。
adCmdTableDirect 512 将 CommandText 评估为表名,其所有列都返回。仅与 Recordset.Open 或 Requery 一起使用。要使用 Seek 方法,必须使用 adCmdTableDirect 打开 Recordset。此值不能与 ExecuteOptionEnum 值 adAsyncExecute 组合使用。

ExecuteOptionEnum 值

常量 描述
adOptionUnspecified -1 表示命令未指定。
adAsyncExecute 16 表示命令应异步执行。此值不能与 CommandTypeEnum 值 adCmdTableDirect 组合使用。
adAsyncFetch 32 表示在 CacheSize 属性中指定的初始数量之后,剩余行应异步检索。
adAsyncFetchNonBlocking 64 表示主线程在检索时从不阻塞。如果请求的行尚未检索,则当前行会自动移动到文件末尾。如果您从包含持久存储的 Recordset 的 Stream 打开 Recordset,则 adAsyncFetchNonBlocking 不会生效;该操作将是同步且阻塞的。当使用 adCmdTableDirect 选项打开 Recordset 时,adAsynchFetchNonBlocking 无效。
adExecuteNoRecords 128 表示命令文本是不返回行的命令或存储过程(例如,只插入数据的命令)。如果检索到任何行,它们将被丢弃且不返回。adExecuteNoRecords 只能作为可选参数传递给 Command 或 Connection Execute 方法。
adExecuteStream 256 表示命令执行的结果应作为流返回。adExecuteStream 只能作为可选参数传递给 Command Execute 方法。
adExecuteRecord 512 表示 CommandText 是返回单个行并应作为 Record 对象返回的命令或存储过程。

EventStatusEnum 值

常量 描述
adStatusOK 1 触发事件的操作成功
adStatusErrorsOccurred 2 触发事件的操作失败
adStatusCantDeny 3 无法取消挂起的操作
adStatusCancel 4 取消触发事件的操作
adStatusUnwantedEvent 5 在事件方法执行完成之前阻止后续通知

❮ 完整的 Connection 对象参考
×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持