ADO Recordset Object: Open Method
The Open method opens a database element that gives you access to
records in a table, the results of a query, or to a saved Recordset.
Tip: Always close the Recordset object after using it, to free
system resources. Set the Recordset object to Nothing to completely
eliminate it from memory.
Syntax
objRecordset.Open source,activeConn,cursorType,lockType,options
|
Parameter |
Description |
source |
Optional. Specifies a data source. The source
parameter may be one of the following:
- A URL
- A relative/full file path name
- A Command object
- An SQL statement
- A stored procedure
- A table name
|
activeConn |
Optional. A connection string or a Connection
object
|
cursorType |
Optional. A CursorTypeEnum value that
specifies the type of cursor to use when opening a Recordset
object. Default is adOpenForwardOnly
|
lockType |
Optional. A LockTypeEnum value that
specifies the type of locking on a Recordset object. Default is
adLockReadOnly
|
options |
Optional. Specifies how to evaluate the source
parameter if it is not a Command object. Can be one or more
CommandTypeEnum or ExecuteOptionEnum values. |
Example
Code: S et conn=New ADODB.Connection
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "F:\Mydata\northwind.mdb"
Set
objRecordset = New
ADODB.recordset
Set objRecordset.ActiveConnection = strConnection
objRecordset.CursorLocation = adUseClient
objRecordset.CursorType = adOpenDynamic
objRecordset.Open
"Customers", , , , adCmdTable
Code:
objRecordset.Open
"SELECT * FROM Customers", strConnection, adOpenDynamic,
adLockBatchOptimistic, adCmdTable
|
CursorTypeEnum Values
Constant |
Value |
Description |
adOpenUnspecified |
-1 |
Unspecified type of cursor |
adOpenForwardOnly |
0 |
Default. A forward-only cursor. This improves performance
when you need to make only one pass through a Recordset |
adOpenKeyset |
1 |
A keyset cursor. Like a dynamic cursor, except that you
can't see records that other users add, although records that
other users delete are inaccessible from your Recordset. Data
changes by other users are still visible. |
adOpenDynamic |
2 |
A dynamic cursor. Additions, changes, and deletions by other
users are visible, and all types of movement through the
Recordset are allowed |
adOpenStatic |
3 |
A static cursor. A static copy of a set of records that you
can use to find data or generate reports. Additions, changes, or
deletions by other users are not visible. |
LockTypeEnum Values
Constant |
Value |
Description |
adLockUnspecified |
-1 |
Unspecified type of lock. Clones inherits lock type from the
original Recordset. |
adLockReadOnly |
1 |
Default. Read-only records |
adLockPessimistic |
2 |
Pessimistic locking, record by record. The provider lock
records immediately after editing |
adLockOptimistic |
3 |
Optimistic locking, record by record. The provider lock
records only when calling update |
adLockBatchOptimistic |
4 |
Optimistic batch updates. Required for batch update mode |
CommandTypeEnum Values
Constant |
Value |
Description |
adCmdUnspecified |
-1 |
Unspecified type of command |
adCmdText |
1 |
Evaluates CommandText as a textual definition of a command
or stored procedure call |
adCmdTable |
2 |
Evaluates CommandText as a table name whose columns are
returned by an SQL query |
adCmdStoredProc |
4 |
Evaluates CommandText as a stored procedure name |
adCmdUnknown |
8 |
Default. Unknown type of command |
adCmdFile |
256 |
Evaluates CommandText as the file name of a persistently
stored Recordset. Used with Recordset.Open or Requery only. |
adCmdTableDirect |
512 |
Evaluates CommandText as a table name whose columns are all
returned. Used with Recordset.Open or Requery only. To use the
Seek method, the Recordset must be opened with adCmdTableDirect.
Cannot be combined with the ExecuteOptionEnum value
adAsyncExecute.
|
ExecuteOptionEnum Values
Constant |
Value |
Description |
adOptionUnspecified |
-1 |
Unspecified command |
adAsyncExecute |
16 |
The command should execute asynchronously. Cannot be
combined with the CommandTypeEnum value adCmdTableDirect
|
adAsyncFetch |
32 |
The remaining rows after the initial quantity specified in
the CacheSize property should be retrieved asynchronously |
adAsyncFetchNonBlocking |
64 |
The main thread never blocks while retrieving. If the
requested row has not been retrieved, the current row
automatically moves to the end of the file. If you open a
Recordset from a Stream containing a persistently stored
Recordset, adAsyncFetchNonBlocking will not have an effect; the
operation will be synchronous and blocking.
adAsynchFetchNonBlocking has no effect when the adCmdTableDirect
option is used to open the Recordset |
adExecuteNoRecords |
128 |
The command text is a command or stored procedure that does
not return rows. If any rows are retrieved, they are discarded
and not returned. adExecuteNoRecords can only be passed as an
optional parameter to the Command or Connection Execute method |
adExecuteStream |
256 |
The results of a command execution should be returned as a
stream. adExecuteStream can only be passed as an optional
parameter to the Command Execute method
|
adExecuteRecord |
512 |
The CommandText is a command or stored procedure that
returns a single row which should be returned as a Record object |
|