ADO Recordset Object

Example

GetRows
This example demonstrates how to use the GetRows method.

Recordset object

The ADO Recordset object is used to contain a record set from a database table. A Recordset object consists of records and columns (fields).

In ADO, this object is the most important and most commonly used for operating on database data.

ProgID

set objRecordset=Server.CreateObject("ADODB.recordset")

When you first open a Recordset, the current record pointer points to the first record, and the BOF and EOF properties are False. If there are no records, the BOF and EOF properties are True.

The Recordset object can support two types of updates:

  • Immediate update - Once the Update method is called, all changes are immediately written to the database.
  • Batch update - The provider caches multiple changes and then sends these changes to the database using the UpdateBatch method.

In ADO, 4 different cursor (pointer) types are defined:

  • Dynamic cursor - Allows you to view additions, changes, and deletions made by other users
  • Keyset cursor - Similar to a dynamic cursor, the difference is that you cannot see the additions made by other users, and it prevents you from accessing records that have been deleted by other users. Changes to data made by other users are still visible.
  • Statische cursor - Biedt een statische kopie van de recordset, die kan worden gebruikt om gegevens te zoeken of rapporten te genereren. Bovendien zijn toevoegingen, wijzigingen en verwijderingen door andere gebruikers niet zichtbaar. Dit is de enige toegestane cursor-type wanneer een client Recordset-object wordt geopend.
  • Statische cursor - Biedt een statische kopie van de recordset, die kan worden gebruikt om gegevens te zoeken of rapporten te genereren. Bovendien zijn toevoegingen, wijzigingen en verwijderingen door andere gebruikers niet zichtbaar. Dit is de enige toegestane cursor-type wanneer een client Recordset-object wordt geopend.

De cursor-type kan worden ingesteld via de CursorType-eigenschap of de CursorType parameter in de Open-methode.

Opmerking:Niet alle providers ondersteunen alle methoden en eigenschappen van het Recordset-object.

Eigenschap

Eigenschap Beschrijving
AbsolutePage Instellen of retourneren van een waarde die de pagina van het Recordset-object kan specificeren.
AbsolutePosition Instellen of retourneren van een waarde die de volgorde van het huidige record in het Recordset-object kan specificeren (volgordepositie).
ActiveCommand Retourneren van het Command-object dat is geassocieerd met het Recordset-object.
ActiveConnection Instellen of retourneren van de definitie van de verbinding als de verbinding is gesloten, of instellen of retourneren van het huidige Connection-object als de verbinding is geopend.
BOF Retourneert true als de huidige recordpositie voor het eerste record is, anders retourneert het false.
Bookmark Instellen of retourneren van een bookmark. Deze bookmark slaat de positie van het huidige record op.
CacheSize Instellen of retourneren van het aantal records dat kan worden gecached.
CursorLocation Instellen of retourneren van de locatie van de cursor-service.
CursorType Instellen of retourneren van het type cursor van een Recordset-object.
DataMember Instellen of retourneren van de naam van het data-lid dat moet worden opgehaald van het object dat wordt gerefereerd door de DataSource-eigenschap.
DataSource Specificeer een object dat bevat de data die moet worden weergegeven als een Recordset-object.
EditMode Retourneren van de bewerkingsstatus van het huidige record.
EOF Retourneert true als de positie van het huidige record na het laatste record is, anders retourneert het false.
Filter Retourneren van een filter voor de data van het Recordset-object.
Index Instellen of retourneren van de naam van de huidige index van het Recordset-object.
LockType Instellen of retourneren van een waarde die de type lock kan specificeren bij het bewerken van een record in een Recordset.
MarshalOptions Instellen of retourneren van een waarde die specificeert welke records worden geretourneerd naar de server.
MaxRecords Stel in of retourneer het maximale aantal records dat van een query wordt geretourneerd in een Recordset-object.
PageCount Retourneer het aantal data pagina's in een Recordset-object.
PageSize Stel in of retourneer het maximale aantal records dat op een enkele pagina in het Recordset-object is toegestaan.
RecordCount Retourneer het aantal records in een Recordset-object.
Sort Stel in of retourneer een of meerdere veldnamen die als basis voor de sortering van het Recordset dienen.
Source Stel een stringwaarde in of retourneer een referentie naar een Command-object, of retourneer een stringwaarde die de datasource van het Recordset-object aanwijst.
State Retourneer een waarde die beschrijft of de Recordset-object is geopend, gesloten, aan het verbinden, aan het uitvoeren of aan het gegevens ophalen.
Status Retourneer de status van het huidige record voor batch-updates of andere grote operaties.
StayInSync Stel in of retourneer of de referentie naar subrecords wijzigt wanneer de positie van het ouder record verandert.

Methode

Methode Beschrijving
AddNew Maak een nieuw record aan.
Cancel Herstel een uitvoering.
CancelBatch Herstel een batch-update.
CancelUpdate Herstel de wijzigingen die zijn aangebracht aan een record in het Recordset-object.
Clone Maak een kopie van een bestaande Recordset.
Close Sluit een Recordset.
CompareBookmarks Vergelijk twee bookmarks.
Delete Verwijder een record of een groep records.
Find Zoek een record in een Recordset die voldoet aan een specifieke voorwaarde.
GetRows Kopieer meerdere records van een Recordset-object naar een tweedimensionaal array.
GetString Retourneer de Recordset als een string.
Move Verplaats de record-punter in het Recordset-object.
MoveFirst Verplaats de record-punter naar het eerste record.
MoveLast Verplaats de record-punter naar het laatste record.
MoveNext Verplaats de record-punter naar het volgende record.
MovePrevious Verplaats de record-punter naar het vorige record.
NextRecordset Wis de huidige Recordset-object door een reeks van commando's uit te voeren en retourneer de volgende Recordset.
Open Open een database-element, dat toegang biedt tot de records van een tabel, de resultaten van een query of een opgeslagen Recordset.
Requery Werkt de gegevens in het Recordset object bij door de query opnieuw uit te voeren die het object ondersteunt.
Resync Vergelijkt de huidige gegevens in het Recordset met de oorspronkelijke database en vernieuwt de gegevens in het Recordset.
Save Slaat het Recordset-object op in een file- of Stream-object.
Seek Zoekt in de index van het Recordset om snel een rij te lokaliseren die overeenkomt met de opgegeven waarde, en maakt deze tot de huidige rij.
Supports Geeft een booleaanse waarde terug die definieert of het Recordset-object een specifieke functietype ondersteunt.
Update Slaat alle wijzigingen op die zijn aangebracht aan een enkel record in het Recordset-object.
UpdateBatch Slaat alle wijzigingen in de database op van alle Recordset. Gebruik dit in batchupdate-modus.

Gebeurtenis

Opmerking: U kunt geen gebeurtenissen afhandelen met VBScript of JScript (alleen de talen Visual Basic, Visual C++ en Visual J++ kunnen gebeurtenissen afhandelen).

Gebeurtenis Beschrijving
EndOfRecordset Wordt geactiveerd wanneer er wordt geprobeerd te verplaatsen naar een rij na het einde van het Recordset.
FetchComplete Wordt geactiveerd nadat alle records in de asynchrone operatie zijn gelezen.
FetchProgress Wordt regelmatig geactiveerd tijdens asynchrone operaties, en rapporteert hoeveel records zijn gelezen.
FieldChangeComplete Wordt geactiveerd nadat de waarde van het Field-object is gewijzigd.
MoveComplete Wordt geactiveerd nadat de huidige positie in het Recordset is gewijzigd.
RecordChangeComplete Wordt geactiveerd nadat een record is gewijzigd.
RecordsetChangeComplete Wordt geactiveerd nadat het Recordset is gewijzigd.
WillChangeField Wordt geactiveerd voordat de waarde van het Field-object wordt gewijzigd
WillChangeRecord Wordt geactiveerd voordat een record wordt gewijzigd.
WillChangeRecordset Wordt geactiveerd voordat het Recordset wordt gewijzigd.
WillMove Wordt geactiveerd voordat de huidige positie in het Recordset wordt gewijzigd.

Verzameling

Verzameling Beschrijving
Fields Geeft het aantal Field-objecten in dit Recordset-object aan.
Properties Bevat alle Property-objecten van alle Recordset-objecten.

Eigenschappen van de Fields Collectie

Eigenschap Beschrijving
Telling

Keert het aantal items in de fields-collectie terug. Start bij 0.

Voorbeeld:

	countfields = rs.Fields.Count
	
Item(naam_item/nummer)

Keert een specifiek item van de fields-collectie terug.

Voorbeeld:

	itemfields = rs.Fields.Item(1)
	Of	
	itemfields = rs.Fields.Item("Name")
	

Eigenschappen van de Properties Collectie

Eigenschap Beschrijving
Telling

Keert het aantal items in de properties-collectie terug. Start bij 0.

Voorbeeld:

	countprop = rs.Properties.Count
	
Item(naam_item/nummer)

Keert een specifiek item van de properties-collectie terug.

Voorbeeld:

	itemprop = rs.Properties.Item(1)
	Of
	itemprop = rs.Properties.Item("Name")