Objet Recordset ADO

Exemple

GetRows
Cet exemple montre comment utiliser la méthode GetRows.

Objet Recordset

L'objet Recordset ADO est utilisé pour contenir un ensemble d'enregistrements provenant d'une table de base de données. Un objet Recordset est composé d'enregistrements et de colonnes (champs).

Dans ADO, cet objet est le plus important et le plus couramment utilisé pour manipuler les données de la base de données.

ProgID

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

Lorsque vous ouvrez pour la première fois un Recordset, le pointeur d'enregistrement courant pointe sur le premier enregistrement, et les attributs BOF et EOF sont faux. S'il n'y a pas d'enregistrement, les attributs BOF et EOF sont vrais.

L'objet Recordset peut prendre en charge deux types d'updates :

  • Mise à jour immédiate - Dès que la méthode Update est appelée, toutes les modifications sont immédiatement écrites dans la base de données.
  • Mise à jour par lots - Le fournisseur met en cache plusieurs modifications, puis utilise la méthode UpdateBatch pour transmettre ces modifications à la base de données.

Dans ADO, on a défini 4 types différents de curseurs (pointeurs) :

  • Curseur dynamique - Permet de voir les ajouts, modifications et suppressions faits par d'autres utilisateurs
  • Cursor de jeu de clés - Similaire au curseur dynamique, mais vous ne pouvez pas voir les ajouts faits par d'autres utilisateurs, et il empêche l'accès aux enregistrements supprimés par d'autres utilisateurs. Les modifications de données faites par d'autres utilisateurs sont toujours visibles.
  • Curseur statique - Fournit une copie statique du jeu de données, utilisable pour rechercher des données ou générer des rapports. De plus, les ajouts, modifications et suppressions effectués par d'autres utilisateurs seront invisibles. C'est le seul type de curseur autorisé lors de l'ouverture d'un objet Recordset client.
  • Curseur en avant simple - Ne permet de naviguer qu'en avant dans le Recordset. De plus, les ajouts, modifications et suppressions effectués par d'autres utilisateurs seront invisibles.

Le type de curseur peut être défini via l'attribut CursorType ou le paramètre CursorType de la méthode Open.

Remarque :Pas tous les fournisseurs (providers) ne supportent toutes les méthodes et propriétés de l'objet Recordset.

Propriété

Propriété Description
AbsolutePage Définir ou retourner une valeur qui permet de spécifier la page actuelle de l'objet Recordset.
AbsolutePosition Définir ou retourner une valeur qui permet de spécifier la position de l'enregistrement actuel dans l'objet Recordset (position numérotée).
ActiveCommand Retourner l'objet Command associé à l'objet Recordset.
ActiveConnection Définir ou retourner la définition de la connexion si la connexion est fermée, ou retourner l'objet Connection actuel si la connexion est ouverte.
BOF Retourner true si la position actuelle de l'enregistrement est avant le premier enregistrement, sinon retourner false.
Bookmark Définir ou retourner un marque-page. Ce marque-page sauvegarde la position de l'enregistrement actuel.
CacheSize Définir ou retourner le nombre d'enregistrements pouvant être mis en cache.
CursorLocation Définir ou retourner l'emplacement du service de curseur.
CursorType Définir ou retourner le type de curseur d'un objet Recordset.
DataMember Définir ou retourner le nom du membre de données à récupérer à partir de l'objet référencé par l'attribut DataSource.
DataSource Spécifier un objet qui contient les données à représenter sous forme d'objet Recordset.
EditMode Retourner l'état d'édition actuel de l'enregistrement.
EOF Retourner true si la position actuelle de l'enregistrement est après le dernier enregistrement, sinon retourner false.
Filter Retourner un filtre pour les données de l'objet Recordset.
Index Définir ou retourner le nom de l'index courant de l'objet Recordset.
LockType Définir ou retourner une valeur qui permet de spécifier le type de verrouillage lors de l'édition d'un enregistrement dans le Recordset.
MarshalOptions Définir ou retourner une valeur, cette valeur spécifie quels enregistrements sont retournés au serveur.
MaxRecords Définissez ou retournez le nombre maximum d'enregistrements retournés par une requête pour un objet Recordset.
PageCount Retournez le nombre de pages de données dans un objet Recordset.
PageSize Définissez ou retournez le nombre maximum d'enregistrements autorisés sur une seule page de l'objet Recordset.
RecordCount Retournez le nombre d'enregistrements dans un objet Recordset.
Sort Définissez ou retournez un ou plusieurs noms de champs utilisés comme base de tri pour le Recordset.
Source Définissez une valeur de chaîne, une référence à un objet Commande, ou retournez une valeur de chaîne qui indique la source de données de l'objet Recordset.
State Retournez une valeur qui décrit si l'objet Recordset est ouvert, fermé, en connexion, en exécution ou en récupération de données.
Status Retournez l'état actuel de l'enregistrement concernant les mises à jour par lot ou d'autres opérations massives.
StayInSync Définissez ou retournez si l' référence aux enregistrements enfants doit changer lorsque la position du enregistrement parent change.

Méthode

Méthode Description
AddNew Créez un nouvel enregistrement.
Cancel Annulez une exécution.
CancelBatch Annulez une mise à jour par lot.
CancelUpdate Annulez les modifications apportées à un enregistrement de l'objet Recordset.
Clone Créez une copie d'un Recordset existant.
Close Fermez un Recordset.
CompareBookmarks Comparez deux signets.
Delete Supprimez un enregistrement ou un ensemble d'enregistrements.
Find Recherchez un enregistrement dans un Recordset qui satisfait une certaine condition spécifiée.
GetRows Copiez plusieurs enregistrements d'un objet Recordset dans un tableau bidimensionnel.
GetString Retournez le Recordset sous forme de chaîne.
Move Déplacez le pointeur d'enregistrement dans l'objet Recordset.
MoveFirst Déplacez le pointeur d'enregistrement vers le premier enregistrement.
MoveLast Déplacez le pointeur d'enregistrement vers le dernier enregistrement.
MoveNext Déplacez le pointeur d'enregistrement vers l'enregistrement suivant.
MovePrevious Déplacez le pointeur d'enregistrement vers l'enregistrement précédent.
NextRecordset En exécutant une série de commandes, supprimez l'objet Recordset actuel et retournez le prochain Recordset.
Ouvrir Ouvrir un élément de base de données, cet élément peut fournir un accès aux enregistrements de table, aux résultats de requête ou aux Recordset enregistrés.
Requery Mettez à jour les données de l'objet Recordset en réexécutant la requête sur laquelle il est basé.
Resync Rafraîchissez les données du Recordset actuel à partir de la base de données originale.
Save Enregistrez l'objet Recordset dans un fichier ou un objet Stream.
Seek Recherche dans les index du Recordset pour localiser rapidement une ligne correspondant à une valeur spécifiée et la rendre actuelle.
Supports Retourne une valeur booléenne qui définit si l'objet Recordset prend en charge un type de fonction spécifique.
Update Enregistrez toutes les modifications apportées à un enregistrement unique dans l'objet Recordset.
UpdateBatch Enregistrez toutes les modifications apportées aux Recordset dans la base de données. Utilisez ce mode de mise à jour par lot.

Événement

Note: Vous ne pouvez pas gérer les événements en utilisant VBScript ou JScript (seuls les langages Visual Basic, Visual C++ et Visual J++ peuvent gérer les événements).

Événement Description
EndOfRecordset Est déclenché lorsque l'on tente de se déplacer vers une ligne au-delà de la fin du Recordset.
FetchComplete Est déclenché après que tous les enregistrements d'une opération asynchrone aient été lus.
FetchProgress Est déclenché régulièrement pendant une opération asynchrone, pour signaler combien d'enregistrements ont été lus.
FieldChangeComplete Est déclenché après le changement de la valeur de l'objet Field.
MoveComplete Est déclenché après le changement de position actuelle dans le Recordset.
RecordChangeComplete Est déclenché après le changement d'un enregistrement.
RecordsetChangeComplete Est déclenché après le changement du Recordset.
WillChangeField Est déclenché avant le changement de la valeur de l'objet Field.
WillChangeRecord Est déclenché avant le changement d'un enregistrement.
WillChangeRecordset Est déclenché avant le changement du Recordset.
WillMove Est déclenché avant le changement de position actuelle dans le Recordset.

Collection

Collection Description
Fields Indique le nombre de Field objets dans ce Recordset.
Properties Contient tous les objets Property des Recordset.

Propriétés de la collection Fields

Propriété Description
Count

Retourne le nombre d'éléments de la collection fields. Compte à partir de 0.

Exemple :

	countfields = rs.Fields.Count
	
Item(nom_item/numéro)

Retourne un élément spécifique de la collection fields.

Exemple :

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

Propriétés de la collection Properties

Propriété Description
Count

Retourne le nombre d'éléments de la collection properties. Compte à partir de 0.

Exemple :

	countprop = rs.Properties.Count
	
Item(nom_item/numéro)

Retourne un élément spécifique de la collection properties.

Exemple :

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