Previous PageNext Page

9.8 Recordset Object

The Recordset object represents the entire set of records from a database table or the results of an executed command.
 

Collections

Fields
 
All the stored Field objects of a Recordset object.
 
Properties
 
All the Property objects for a specific instance of a Recordset object. This collection is not currently supported on UNIX.
 

Methods

AddNew
 
Creates a new record for an updateable Recordset object.
 
CancelBatch
 
Cancels a pending batch update. This method is not currently supported on UNIX.
 
CancelUpdate
 
Cancels any changes made to the current record prior to calling the Update method.
 
Clone
 
Creates a new Recordset object from an existing Recordset object. This method is not currently supported on UNIX.
 
Close
 
Closes an open Recordset object and any dependent objects.
 
Delete
 
Deletes the current record or group of records from a Recordset object.
 
GetRows
 
Retrieves multiple rows from a Recordset object into an array.
 
Move
 
Moves the position of the current record in a Recordset object.
 
MoveFirst
 
Moves to the first record in a Recordset object and makes that record the current record.
 
MoveLast
 
Moves to the last record in a Recordset object and makes that record the current record.
 
MoveNext
 
Moves to the next record in a Recordset object and makes that record the current record.
 
MovePrevious
 
Moves to the previous record in a Recordset object and makes that record the current record.
 
NextRecordset
 
Clears the current Recordset object and returns the next recordset by advancing through a series of commands. This method is not currently supported on UNIX.
 
Open
 
Opens a cursor.
 
Requery
 
Updates the data in a Recordset by re-executing the query on which the object is based.
 
Resync
 
Refreshes the data in the Recordset object from the underlying database.
 
Supports
 
Determines whether a specified Recordset object supports a particular type of functionality.
 
Update
 
Saves any changes you make to the current record of a Recordset object.
 
UpdateBatch
 
Writes all pending batch updates. This method is not currently supported on UNIX.
 

Properties

AbsolutePage
 
The page in which the current record resides.
 
AbsolutePosition
 
The ordinal position of a Recordset object's current position.
 
ActiveConnection
 
The Connection object to which the Recordset object currently belongs.
 
BOF
 
If True, the current record position is before the first record in a Recordset object.
 
Bookmark
 
A value that uniquely identifies the current record in a Recordset object. Setting the Bookmark property to a valid bookmark changes the current record.
 
CacheSize
 
The number of records from a Recordset object that are cached locally in memory. This property is not currently supported on UNIX.
 
CursorLocation
 
The location of the cursor engine.
 
CursorType
 
The type of cursor used in a Recordset object.
 
EditMode
 
The editing status of the current record.
 
EOF
 
True if the record position is after the last record in a Recordset object.
 
Filter
 
A filter for data in a Recordset object.
 
LockType
 
The type of locks placed on records during editing.
 
MarshalOptions
 
Which records are to be marshaled back to the server.
 
MaxRecords
 
The maximum number of records to return to a Recordset object from a query.
 
PageCount
 
The number of pages of data the Recordset object contains.
 
PageSize
 
The number of records that make up one page in the Recordset object.
 
RecordCount
 
The current number of records in a Recordset object.
 
Source
 
The source for the data in a Recordset object.
 
State
 
Describes the current state of the Recordset object.
 
Status
 
The status of the current record with respect to batch updates or other bulk operations.
 

Remarks

Use Recordset objects to manipulate data from a provider. In ADO data is almost entirely manipulated using Recordset objects. All Recordset objects are constructed using records (rows) and fields (columns). Depending on the functionality supported by the provider, some Recordset methods or properties may not be available.
 
Recordset objects can also be run remotely. For example, in a web-based application, you can open a Recordset on the client, using the progID "ADOR." The Remote Data Service provides a mechanism for local data caching and local cursor movement in remote Recordset data. A client-side Recordset can be used in the same way as a server-side Recordset, and supports almost all of the Recordset normal methods and properties. Recordset methods and properties that are not supported on a client-side Recordset, or that behave differently, are noted in the topics for those properties and methods.
 
There are four different cursor types defined in ADO:
 

Cursor Description
Dynamic
 
Allows you to view additions, changes and deletions by other users, and allows all types of movement through the Recordset that don't rely on bookmarks; allows bookmarks if the provider supports them.
 
Keyset
 
Behaves like a dynamic cursor, except that it prevents you from seeing records that other users add, and prevents access to records that other users delete. Data change by other users will still be visible. It always supports bookmarks and therefore allows all types of movement through the Recordset.
 
Static
 
Provides a static copy of a set of records for you to use to find data or generate reports. Always allows bookmarks and therefore allows all types of movement through the Recordset. Additions, changes, or deletions by other users will not be visible. This is the only type of cursor allowed when you open a client-side (ADOR) Recordset object.
 
Forward-only
 
Behaves identically to a dynamic cursor except that it allows you to scroll only forward through records. This improves performance in situations where you need to make only a single pass through a Recordset.
 
Set the CursorType property prior to opening the Recordset to choose the cursor type, or pass a CursorType argument with the Open method. Some providers don't support all cursor types. Check the documentation for the provider. If you don't specify a cursor type, ADO opens a forward-only cursor by default.
 
When used with some providers (such as the Microsoft ODBC Provider for OLE DB in conjunction with Microsoft SQL Server), you can create Recordset objects independently of a previously defined Connection object by passing a connection string with the Open method. ADO still creates a Connection object, but it doesn't assign that object to an object variable. However, if you are opening multiple Recordset objects over the same connection, you should explicitly create and open a Connection object; this assigns the Connection object to an object variable. If you do not use this object variable when opening your Recordset objects, ADO creates a new Connection object for each new Recordset, even if you pass the same connection string.
 
You can create as many Recordset objects as needed.
 
When you open a Recordset, the current record is positioned to the first record (if any) and the BOF and EOF properties are set to False. If there are no records, the BOF and EOF property settings are True.
 
Use the MoveFirst, MoveLast, MoveNext, and MovePrevious methods, as well as the Move method, and the AbsolutePosition, AbsolutePage, and Filter properties to reposition the current record, assuming the provider supports the relevant functionality. Forward-only Recordset objects support only the MoveNext method. When you use the Move methods to visit each record (or enumerate the Recordset), you can use the BOF and EOF properties to see if you've moved beyond the beginning or end of the Recordset.
 
Recordset objects may support two types of updating: immediate and batched. In immediate updating, all changes to data are written immediately to the underlying data source once you call the Update method. You can also pass arrays of values as parameters with the AddNew and Update methods and simultaneously update several fields in a record.
 
If a provider supports batch updating, you can have the provider cache changes to more than one record and then transmit them in a single call to the database with the UpdateBatch method. This applies to changes made with the AddNew, Update, and Delete methods. After you call the UpdateBatch method, you can use the Status property to check for any data conflicts in order to resolve them. Batch updating is not currently supported on UNIX.
 

Note:

To execute a query without using a Command object, pass a query string to the Open method of a Recordset object. However, a Command object is required when you want to retain the command text and re-execute it, or use query parameters.


Copyright © 2000 Chili!Soft

Previous PageTop Of PageNext Page