最新的Web开发教程
 

ADO打开方法


<完整记录对象参考

Open方法打开,让您可以访问记录表,查询的结果,或将保存的记录数据库元素。

Tip:用它,释放系统资源后,请务必关闭Recordset对象。 Recordset对象设置为Nothing从内存中完全消除。

句法

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

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

Open an ADO Table 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
%>

Open an 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 未指定类型的游标
adOpenForwardOnly0 默认。 一个只进游标。 当你需要通过一个记录集仅做一个通这样可以提高性能
adOpenKeyset1 键集游标。 就像一个动态游标,但你不能看到其他用户添加的记录,尽管其他用户删除的记录从您的Recordset不可访问。 其他用户的数据更改依然可见。
adOpenDynamic2 动态游标。 添加,更改和其他用户删除是可见的,并通过记录所有类型的运动被允许
adOpenStatic3 静态游标。 一组可以用来查找数据或生成报表的记录的静态副本。 添加,更改或由其他用户删除是不可见的。

LockTypeEnum值

不变 描述
adLockUnspecified-1 未指定类型的锁。 克隆继承从原来的记录锁定类型。
adLockReadOnly1 默认。 只读记录
adLockPessimistic2 悲观锁定,通过记录记录。 提供者锁定记录编辑后立即
adLockOptimistic3 乐观锁,通过记录记录。 该供应商锁定只记录通话时更新
adLockBatchOptimistic4 乐观批更新。 需要批量更新模式

CommandTypeEnum之中价值观

不变 描述
adCmdUnspecified-1 未指定类型的命令
adCmdText1 CommandText作为一个命令的文本定义或存储过程调用
adCmdTable2 CommandText作为其列由SQL查询返回的表名
adCmdStoredProc4 CommandText作为存储过程的名称
adCmdUnknown8 默认。 未知类型的命令
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 命令文本是一个命令或者不返回行的存储过程。 如果任何行被检索,它们将被放弃,并没有回来。 adExecuteNoRecords只能作为可选参数到命令或连接Execute方法传递
adExecuteStream256 命令执行的结果应被返回作为流。 adExecuteStream只能作为可选参数被传递给命令执行方法
adExecuteRecord512 在CommandText是一个命令或存储过程返回单行应该返回作为记录对象

<完整记录对象参考