Ado Recordset.open

时间:2022-07-10 18:28:22

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。