L'objet ADO Recordset contient l'ensemble des enregistrements d'une base de données ou le résultat d'une requête suite à l'exécution d'une commande.

Set obj_Recordset = Server.CreateObject("ADODB.Recordset")

Couramment utilisé, l'objet Recordset permet d'accomplir différentes tâches sur un jeu d'enregistrements, comme l'ouverture ou la fermeture de l'objet, mais surtout, l'extraction, l'ajout, la suppression ou la mise à jour des données.

Dim Obj_Recordset
' Instanciation de l'objet
Set Obj_Recordset = Server.CreateObject("ADODB.Recordset")
' Ouverture
Obj_Recordset.Open "SELECT * FROM Table", _
                  Obj_Connection, _
                  adOpenKeySet, _
                  adLockOptimistic

Obj_Recordset.Fields("Nom_Champs") = "Valeur du champs"
Obj_Recordset.Update ' Mise à jour
Obj_Recordset.Close ' Fermeture

Quelques unes des fonctions importantes de l'objet Recordset sont, également, d'explorer un jeu d'enregistrements par l'intermédiaire des méthodes MoveNext, MovePrevious, MoveLast, MoveFirst, Move, d'effectuer des recherches par Seek ou Find, ou de tester la position du pointeur d'enregistrement avec les propriétés BOF (Before Of File), EOF (End Of File) ou AbsolutePosition.

Do While Not Obj_Recordset.EOF ' Atteindre Fin de Fichier
  Response.Write Obj_Recordset.Fields("Nom_Champs")
  Obj_Recordset.MoveNext ' Enregistrement suivant
Loop
Les Collections
Collection
Description
Fields
contient une colonne de données avec un type commun.
Properties
contient toutes les objets Property pour une instance spécifique d'un objet.
Les Propriétés
Propriété
Description
Objet_Recordset.AbsolutePage = PositionEnum
retourne la page de l'enregistrement en cours.
Objet_Recordset.AbsolutePosition = PositionEnum
retourne la position de l'enregistrement en cours.
Objet_Command = Objet_Recordset.ActiveCommand
retourne l'objet Command qui a créé l'objet Recordset correspondant.
Set Objet_Recordset.ActiveConnection = Objet_Connection
indique l'objet Connection d'appartenance de l'objet en cours.
Objet_Recordset.BOF = True | False
indique que l'enregistrement en cours est positionné avant le premier de l'objet Recordset.
Objet_Recordset.Bookmark = Variant_Signet
retourne un signet identifiant d'une façon unique l'enregistrement en cours, ou assigne un signet à l'enregistrement en cours.
Objet_Recordset.CacheSize = Nombre
retourne le nombre d'enregistrements d'un objet Recordset stockés en mémoire cache.
Objet_Recordset.CursorLocation = CursorLocationEnum
retourne ou détermine la position du moteur de curseur.
Objet_Recordset.CursorType = CursorTypeEnum
indique le type de curseur à utiliser avec un objet Recordset.
Objet_Recordset.DataMember = Chaîne_de_caractères
retourne le nom du membre-donnée à extraire de l'objet Recordset défini par la propriété DataSource.
Objet_Recordset.DataSource = Objet
indique qu'un objet contenant des données doit être assimilé à un objet Recordset.
Objet_Recordset.EditMode = EditModeEnum
retourne le statut de modification de l'enregistrement en cours.
Objet_Recordset.EOF = True | False
indique que l'enregistrement en cours a atteint le dernier enregistrement d'un objet Recordset.
Objet_Recordset.Filter = Valeur
détermine un filtre de données dans un objet Recordset. La valeur peut contenir une chaîne de caractères composée de différentes clauses liées par des opérateurs AND ou OR, un tableau de signets pointant vers des enregistrements ou une constante FilterGroupEnum.
Objet_Recordset.Index = Cnaîne de caractères
retourne le nom de l'index en cours pour l'objet Recordset.
Objet_Recordset.LockType = LockTypeEnum
retourne le type de verrouillage des enregistrements lors des modifications.
Objet_Recordset.MarshalOptions = MarshalOptionsEnum
indique les enregistrement devant être renvoyés au serveur.
Objet_Recordset.MaxRecords = Nombre
indique le nombre maximal d'enregistrements à retourner à l'objet Recordset pour une même requête.
Objet_Recordset.PageCount = Nombre
retourne le nombre de pages de données contenues dans l'objet Recordset.
Objet_Recordset.PageSize = Nombre
retourne le nombre d'enregistrements contenus dans la page de l'objet Recordset.
Objet_Recordset.RecordCount = Nombre
retourne le nombre en cours des enregistrements présents dans un objet Recordset.
Objet_Recordset.Sort = Chaîne de caractères
indique un ou plusieurs noms de champs permettant d'effectuer un tri sur un objet Recordset.
Objet_Recordset.Source = Chaîne de caractères
retourne la source de données d'un jeu d'enregistrements.
Objet_Recordset.State = ObjectStateEnum
retourne l'état de l'objet Recordset, c'est-à-dire s'il est ouvert ou fermé.
Objet_Recordset.Status = RecordStatusEnum
retourne le statut de l'enregistrement en cours en ce qui concerne les mises à jour par lots ou autres opérations globales.
Objet_Recordset.StayInSync = True | False
indique dans un objet Recordset hiérarchique, si la ligne parent doit changer lorsque l'ensemble des enregistrements enfants sous-jacents change.
Les Méthodes
Méthode
Description
Objet_Recordset.AddNew Liste_champs, Valeurs
crée un nouvel enregistrement pour un objet Recordset pouvant être mis à jour.
Objet_Recordset.Cancel
annule l'exécution de l'appel en attente.
Objet_Recordset.CancelBatch [AffectEnum]
annule une mise à jour par lots en attente.
Objet_Recordset.CancelUpdate
annule toutes les modifications appliquées à l'enregistrement en cours ou à un nouvel enregistrement avant d'appeler la méthode Update.
Objet_Recordset.Clone LockTypeEnum
crée un objet Recordset en double à partir d'un objet Recordset existant.
Objet_Recordset.Close
ferme un objet Recordset ouvert ainsi que tous les objets en dépendant.
Objet_Recordset.CompareBookmarks Signet, Signet2
compare deux signets et retourne une indication CompareEnum de leurs valeurs relatives.
Objet_Recordset.Delete AffectEnum
supprime l'enregistrement en cours ou un groupe d'enregistrements.
Objet_Recordset.Find(Critère, Saut_ligne,
SearchDirectionEnum, Démarrage)
recherche dans un objet Recordset l'enregistrement correspondant aux critères spécifiés en argument.
Objet_Recordset.GetRows[(GetRowsOptionEnum,
BookmarkEnum, Enregistrements)]
extrait plusieurs enregistrements d'un objet Recordset et les retournent dans un tableau.
Objet_Recordset.GetString(StringFormatEnum,
Nb_Lignes, Délimiteur_Colonnes, Délimiteur_Lignes, Expression_Val_Null)
retourne l'objet Recordset sous forme de chaîne de caractères.
Objet_Recordset.Move Nb_Enregistrements, BookmarkEnum
déplace la position de l'enregistrement en cours.
Objet_Recordset.MoveFirst
déplace l'enregistrement en cours sur le premier enregistrement de l'objet Recordset.
Objet_Recordset.MoveLast
déplace l'enregistrement en cours sur le dernier enregistrement de l'objet Recordset.
Objet_Recordset.MoveNext
déplace l'enregistrement en cours sur le prochain enregistrement de l'objet Recordset.
Objet_Recordset.MovePrevious
déplace l'enregistrement en cours sur le précédent enregistrement de l'objet Recordset.
Objet_Recordset.NextRecordset Nb_Enregistrements
efface l'objet Recordset en cours et retourne l'objet Recordset suivant.
Objet_Recordset.Open Source, ActiveConnection,
CursorTypeEnum, LockTypeEnum, Options
ouvre un curseur. L'argument Source peut être un objet Command valide, une déclaration SQL, un nom de table, un appel de procédure stocké, un URL, ou le nom d'un fichier ou encore l'objet Stream contenant un objet Recordset stocké avec persistance. L'argument ActiveConnection peut être un nom d'objet Connection valide ou une chaîne de caractères contenant des paramètres de la propriété ConnectionString, Enfin, l'argument Options peut combiner un ou plusieurs CommandTypeEnum ou ExecuteOptionEnum avec l'opérateur de niveau de bit AND.
Objet_Recordset.Requery Options
exécute une requête permettant de mettre à jour un objet Recordset. L'argument Options est identique à celui ci-dessus.
Objet_Recordset.Resync AffectEnum, ResyncEnum
actualise les données de l'objet Recordset en cours à partir de la base de données sous-jacentes.
Objet_Recordset.Save Destination, PersistFormatEnum
sauvegarde l'objet Recordset dans un fichier. L'argument Destination correspond à un chemin complet d'un fichier où l'objet Recordset a été sauvegardé, ou encore une référence vers un objet Stream.
Objet_Recordset.Seek Tableau_Valeurs, SeekEnum
recherche dans l'index d'un objet Recordset pour rapidement loccaliser la ligne qui correspond aux valeurs spécifiées et déplace la position de la ligne courante vers cette ligne.
Objet_Recordset.Supports(CursorOptionEnum)
définit si un objet Recordset spécifié prend en charge un type de fonctionnalité particulier.
Objet_Recordset.Update Enregistrements, Valeurs
sauvegarde des modifications apportées à l'enregistrement en cours d'un objet Recordset.
Objet_Recordset.UpdateBatch AffectEnum
sauvegarde toutes les mises à jour par lots en attente.
Les Evénements
Evénement
Description
Objet_Recordset.EndOfRecordset Plus_Lignes,
EventStatusEnum, Recordset
est appelé lors d'une tentative de déplacement vers un enregistrement situé au-delà de la fin d'un objet Recordset.
Objet_Recordset.FetchComplete Erreur, EventStatusEnum, Recordset
est appelé après que tous les enregistrements dans une opération asynchrone de longue durée ont été extraits.
Objet_Recordset.FetchProgress Progression, Progression_Max,
EventStatusEnum, Recordset
est appelé périodiquement au cours d'une opération asynchraone de longue durée pour indiquer le nombre d'enregistrements extraits.
Objet_Recordset.WillChangeField Nb_Fields, Fields,
EventStatusEnum, Recordset
est appelé avant qu'une opérationen attente ne modifie la valeur d'un ou plusieurs objets Field.
Objet_Recordset.FieldChangeComplete Nb_Fields, Fields, Erreur,
EventStatusEnum, Recordset
est appelé après la modification de la valeur d'un ou plusieurs objets Field.
Objet_Recordset.WillChangeRecord EventReasonEnum,
Nb_Records, EventStatusEnum, Recordset
est appelé avant qu'une opération en attente ne modifie un objet Recordset.
Objet_Recordset.RecordChangeComplete EventReasonEnum,
Nb_Records, Erreur, EventStatusEnum, Recordset
est appelé après qu'un ou plusieurs enregistrements ont été modifiés.
Objet_Recordset.WillChangeRecordset
EventReasonEnum, EventStatusEnum, Recordset
est appelé avant qu'une opération en attente ne modifie l'objet Recorset.
Objet_Recordset.RecordsetChangeComplete EventReasonEnum, Erreur,
EventStatusEnum, Recordset
est appelé après que l'objet Recordset a été modifié.
Objet_Recordset.WillMove
EventReasonEnum, EventStatusEnum, Recordset
est appelé avant que l'opération en attente ne change la position en cours.
Objet_Recordset.MoveComplete
EventReasonEnum, Erreur, EventStatusEnum, Recordset
est appelé après qu'un ou plusieurs en registrements ont été modifiés.
Exemple [voir]
<html>
  <body>
  <%
      Set obj_Recordset = Server.CreateObject("ADODB.Recordset")
      obj_Recordset.Open "Select * from Fiche","DSN=personnel"
  %>
  <table border="1" cellpadding="3" align="center">
      <tr>
        <td colspan="6">Fiches signalétiques des personnels</td>
      </tr>
      <tr>
        <td>Nom</td>
        <td>Prénom</td>
        <td>Age</td>
        <td>Qualité</td>
        <td>eMail</td>
        <td>Adresse</td>
      </tr>
        <%
        Do While Not obj_Recordset.EOF
        %>
        <tr>
          <td><%=obj_Recordset("Nom")%></td>
          <td><%=obj_Recordset("Prenom")%></td>
          <td><%=obj_Recordset("Age")%></td>
          <td><%=obj_Recordset("Qualite")%></td>
          <td><%=obj_Recordset("eMail")%></td>
          <td><%=obj_Recordset("Adresse")%></td>
        </tr>
        <%
          obj_Recordset.MoveNext
        Loop
        obj_Recordset.Close
        Set obj_Recordset = Nothing
        %>
      </tr>
  </table>
  </body>
</html>