Recordset.open
Recordset 对象的 Open 方法 允许用户向数据库发出请求,通过是运行一个 SQL命令、启动一个指定的数据表或调用一个指定的 Stored Procedure
格式:
Recordset.Open Source,ActiveConnection,CursorType,LockType,Options
1、Source 参数可以是一个 Command 名称,一个 SQL 命令、一个指定的数据表名称或一个指定的 Stored Procedure。Recordset 对象可通过 Source 属性连接Command 对象。
2、ActiveConnection 参数可以是一个 Connction 对象名称或是包含“数据库连接信息( ConnectionString )”的字符串信息。Recordset 对象可通过ActiveConnection 属性连接 Connection 对象。
3、CursorType 参数表示启动数据的游标类型。
常数值说明:
AdOpenForwardOnly 0 启动只能向前( Forward-only )的游标,缺省值
AdOpenKeyset 1 启动 Keyset 类型的游标
AdOpenDynamic 2 启动 Dynamic 类型的游标
AdOpenStatic 3 启动 Static 类型的游标
以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。
-------------------------------------------------------------
Recordset属性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
-------------------------------------------------------------
AbsolutePage 不支持 不支持 可读写 可读写
AbsolutePosition 不支持 不支持 可读写 可读写
ActiveConnection 可读写 可读写 可读写 可读写
BOF 只读 只读 只读 只读
Bookmark 不支持 不支持 可读写 可读写
CacheSize 可读写 可读写 可读写 可读写
CursorLocation 可读写 可读写 可读写 可读写
CursorType 可读写 可读写 可读写 可读写
EditMode 只读 只读 只读 只读
EOF 只读 只读 只读 只读
Filter 可读写 可读写 可读写 可读写
LockType 可读写 可读写 可读写 可读写
MarshalOptions 可读写 可读写 可读写 可读写
MaxRecords 可读写 可读写 可读写 可读写
PageCount 不支持 不支持 只读 只读
PageSize 可读写 可读写 可读写 可读写
RecordCount 不支持 不支持 只读 只读
Source 可读写 可读写 可读写 可读写
State 只读 只读 只读 只读
Status 只读 只读 只读 只读
AddNew 支持 支持 支持 支持
CancelBatch 支持 支持 支持 支持
CancelUpdate 支持 支持 支持 支持
Clone 不支持 不支持
Close 支持 支持 支持 支持
Delete 支持 支持 支持 支持
GetRows 支持 支持 支持 支持
Move 不支持 支持 支持 支持
MoveFirst 支持 支持 支持 支持
MoveLast 不支持 支持 支持 支持
MoveNext 支持 支持 支持 支持
MovePrevious 不支持 支持 支持 支持
NextRecordset 支持 支持 支持 支持
Open 支持 支持 支持 支持
Requery 支持 支持 支持 支持
Resync 不支持 不支持 支持 支持
Supports 支持 支持 支持 支持
Update 支持 支持 支持 支持
UpdateBatch 支持 支持 支持 支持
--------------------------------------------------------------
其中NextRecordset方法并不适用于Microsoft Access数据库。
4、LockType 参数表示采用的 Lock 类型。
常数值说明:
AdLockReadOnly 1 以只读方式启动,无法运行 AddNew、Update、Delete等方法,缺省值
AdLockPessimistic 2 当数据正在更新时,系统会暂时锁定其它用户的动作,以确保数据一致性
AdLockOptimistic 3 当数据正在更新时,系统不会暂时锁定其它用户的动作
AdLockBatchOptimistic 4 当数据正在更新时,其它用户必须将 CursorLocation属性设为 adUseBatch ,才能对数据库操作
5、Options 参数表示对数据库请求的类型。
常数值说明 :
AdCmdUnknown -1 所指定的 CommandText 参数类型无法确定,缺省值
AdCmdText 1 所指定的 CommandText 参数是一般的命令类型
AdCmdTable 2 所指定的 CommandText 参数是一个存在的表名称
AdCmdStoredProc 3 所指定的 CommandText 参数是 Stored Procedure 表名称
CursorLocationEnum 值
常量 | 值 | 描述 |
---|---|---|
adUseNone | 1 | 不使用游标服务。(此常量已作废并且只是为了向后兼容才出现。) |
adUseServer | 2 | 默认值。使用数据提供者或驱动程序提供的游标。这些游标有时很灵活,可以额外感知其他人对数据源所做的更改。但 是,Microsoft Cursor Service for OLE DB 的某些功能(例如断开 Recordset 对象)不能用服务器端游标模拟,这些功能在此设置中将不可用。 |
adUseClient | 3 | 使用本地游标库提供的客户端的游标。本地游标服务通常允许执行驱动程序提供的游标所不允许的许多功能,因此使用此设置可以充分利用即将启用的功能。为进行向后兼容,亦支持同义字 adUseClientBatch。 |