菜单
×
   ❮     
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 Open 方法


❮ 完整的 Recordset 对象参考

Open 方法打开一个数据库元素,该元素使您可以访问表中的记录、查询的结果或已保存的 Recordset。

提示: 使用完 Recordset 对象后,请务必关闭它以释放系统资源。将 Recordset 对象设置为 Nothing 以将其完全从内存中删除。

语法

objRecordset.Open source,actconn,cursortyp,locktyp,opt

参数 描述
source 可选。指定数据源。source 参数可以是以下之一:
  • URL
  • 相对/完整的文件路径名
  • Command 对象
  • SQL 语句
  • 存储过程
  • 表名
actconn 可选。连接字符串或 Connection 对象
cursortyp 可选。一个 CursorTypeEnum 值,指定打开 Recordset 对象时使用的光标类型。默认为 adOpenForwardOnly
locktyp 可选。一个 LockTypeEnum 值,指定 Recordset 对象上的锁定类型。默认为 adLockReadOnly
opt 可选。指定如何评估 source 参数(如果它不是 Command 对象)。可以是多个 CommandTypeEnum ExecuteOptionEnum 值中的一个或多个。

示例

打开 ADO 表 Recordset

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Customers", conn
%>

打开 ADO SQL Recordset

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.recordset")
rs.Open "Select * from Customers", conn
%>

CursorTypeEnum 值

常量 描述
adOpenUnspecified -1 未指定的光标类型
adOpenForwardOnly 0 默认。前向只读光标。当您只需要遍历 Recordset 一次时,这可以提高性能。
adOpenKeyset 1 键集光标。类似于动态光标,但您看不到其他用户添加的记录,尽管其他用户删除的记录对您的 Recordset 来说是无法访问的。其他用户对数据所做的更改仍然可见。
adOpenDynamic 2 动态光标。其他用户添加、更改和删除的记录都可见,并且可以对 Recordset 进行所有类型的移动。
adOpenStatic 3 静态光标。记录的静态副本,可用于查找数据或生成报告。其他用户添加、更改或删除的记录不可见。

LockTypeEnum 值

常量 描述
adLockUnspecified -1 未指定的锁定类型。克隆继承原始 Recordset 的锁定类型。
adLockReadOnly 1 默认。只读记录
adLockPessimistic 2 悲观锁定,逐条记录。提供商在编辑后立即锁定记录
adLockOptimistic 3 乐观锁定,逐条记录。提供商仅在调用 update 时锁定记录
adLockBatchOptimistic 4 乐观批量更新。批量更新模式需要

CommandTypeEnum 值

常量 描述
adCmdUnspecified -1 未指定的命令类型
adCmdText 1 将 CommandText 评估为命令或存储过程调用的文本定义
adCmdTable 2 将 CommandText 评估为表名,其列由 SQL 查询返回
adCmdStoredProc 4 将 CommandText 评估为存储过程名称
adCmdUnknown 8 默认。未知命令类型
adCmdFile 256 将 CommandText 评估为持久存储的 Recordset 的文件名。仅与 Recordset.Open 或 Requery 一起使用。
adCmdTableDirect 512 将 CommandText 评估为表名,其所有列都已返回。仅与 Recordset.Open 或 Requery 一起使用。要使用 Seek 方法,Recordset 必须以 adCmdTableDirect 打开。不能与 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 对象返回的单行

❮ 完整的 Recordset 对象参考
×

联系销售

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

报告错误

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

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

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