 |
|
 |
 |
Cours ASP N°4 : les bases de données
L'objet RecordSet
Description
L'objet Recordset est un jeu d'enregistrements, via ADO. Celui-ci ressemble
à une table chargée en mémoire, contenant des enregistrements (ou ligne de données)
qui sont divisés en champs (ou en colonnes).
L'objet Recordset est en fait un Curseur, un curseur est un sous-ensemble d'une
base de données, organisé et trié en fonction d'une requête
SQL. Ils permettent aux développeurs 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.
L'utilisation d'un objet RecordSet passe par cinq étapes :
1- Placer dans une variable une requête SQL
SQL="Commandes SQL"
2 - Créer une instance de l'Objet RecordSet
set Rs= server.CreateObject("ADODB.Recordset")
3- Utiliser la méthode Open de l'objet Recordset pour remplir ce dernier
avec les valeurs de la source de données.
Rs.Open SQL, ActiveConnection, CursorType, LockType
4- Exécuter le code : La lecture, l'ajout, la suppression ou la modification
de données.
Bla, Bla…
5- Fermer le RecordSet avec la méthode close, et libérer les ressources
allouées en lui affectant la valeur Nothing.
Rs.Close
Set Rs=Nothing
Syntaxe
Type de Curseur :
|
Valeur
|
Description
|
|
0
|
ForwardOnly : Permet seulement un défilement vers l'avant à l'intérieur
d'un objet Recordset. Les ajouts, les modifications ou les suppressions
par d'autres utilisateurs ne restent pas visibles.
Performant si vous ne devez parcourir qu'une seule fois un jeu d'enregistrements.
|
|
2
|
Dynamic : Reflète le contenu de la table en temps réel. Permet
de rendre visible les ajouts, les changements et les suppressions aux
autres utilisateurs.
Permet tous les modes de mouvement à l'intérieur d'un jeu d'enregistrements.
|
|
1
|
KeySet : Se comporte comme un curseur dynamique, hormis qu'il
empêche de rendre visible les enregistrements ajoutés par des utilisateurs,
et empêche l'accès aux enregistrements que d'autres utilisateurs suppriment.
Les données modifiées par d'autres utilisateurs restent toujours visibles.
Permet tous les modes de mouvement à l'intérieur d'un jeu d'enregistrements.
|
|
3
|
Static : Reflète le contenu de la table au moment du 'remplissage'
du recordset.
Fournit une copie statique d'un jeu d'enregistrements utilisé
pour rechercher des données ou générer des rapports.
Tous les types de mouvement sont autorisés à l'intérieur
d'un objet Recordset.
L'ajout, la modification et la suppression par d'autres utilisateurs
restent toujours invisibles.
|
Type de Verrou :
|
Valeur
|
Description
|
|
1
|
Lecture seule ( Lecture seule, les données ne sont pas modifiables).
|
|
2
|
Pessimiste (Verrouille les enregistrements au niveau de la source de
données au moment de la modification).
|
|
3
|
Optimiste (Verrouille les enregistrements seulement lors de l'appel à
la méthode Update).
|
|
4
|
Par lot (nécessaire pour ce type de mise à jour).
|
Option :
|
Valeur
|
Description
|
|
0
|
Valeur par défaut , inconnu
|
|
1
|
Source est de type commande sql
|
|
2
|
Source est le nom d'une table
|
|
3
|
Source est le nom d'une procédure stockée dans la base
|
Méthodes
|
Nom
|
Description
|
|
AddNew
|
Crée un nouvel enregistrement dans un Recordset le permettant.
|
|
Concel
|
Annule l'exécution de l'appel en attente.
|
|
CancelBatch
|
Annule le traitement d'une mise à jour par lots.
|
|
CancelUpdate
|
Annule toutes les modifications apportées à l'enregistrement courant.
|
|
Clone
|
Crée une copie d'un Recordset.
|
|
Close
|
Ferme un Recordset ouvert et tous les objets dépendants.
|
|
Delete
|
Supprime l'enregistrement courant.
|
|
Find(Critère, Saut_ligne, SearchDirectionEnum, Démarrage)
|
echerche dans un objet Recordset l'enregistrement correspondant
aux critères spécifiés en argument.
SearchDirectionEnum = - 1 (en arrière) ou 1 (en avant)
|
|
GetRows[(GetRowsOptionEnum, BookmarkEnum, Enregistrements)]
|
Extrait plusieurs enregistrements d'un objet Recordset et les
retournent dans un tableau.
GetRowsOptionEnum spécifie combien d'enregistrements à retrouver
à partir d'un objet Recordset.
BookmarkEnum spécifie un signet indiquant où l'opération doit
débuter : 0 (démarre à partir de l'enregistrement courant), 1 (démarre
à partir du premier enregistrement), 2 (démarre à partir du dernier enregistrement)
|
|
Move
|
Permet de déplacer la position de l'enregistrement courant.
|
|
MoveFirst
|
Permet de se positionner sur le premier enregistrement courant dans un
Recordset.
|
|
MoveLast
|
Permet de se positionner sur le dernier enregistrement courant dans un
Recordset.
|
|
MoveNext
|
Permet de se positionner sur l'enregistrement courant suivant dans un
Recordset.
|
|
MovePrevious
|
Permet de se positionner sur l'enregistrement courant précédent dans
un Recordset.
|
|
NextRecordset
|
Renvoie le jeu d'enregistrements suivant.
|
|
Open
|
Permet d'ouvrir un Recordset.
|
|
Requery
|
Met à jour les données en ré-exécutant une requête.
|
|
Resync
|
Rafraîchit les données à partir de la base de données associée.
|
|
Save Destination
|
Sauvegarde l'objet Recordset dans un fichier. L'argument Destination
correspond à un chemin complet d'un fichier où l'objet Recordset a été
sauvegardé.
|
|
Seek Tableau_Valeurs, SeekEnum
|
Recherche dans l'index d'un objet Recordset pour rapidement localiser
la ligne qui correspond aux valeurs spécifiées et déplace la position
de la ligne courante vers cette ligne.
SeekEnum indique le type de recherche à exécuter :
1 = recherche le premier index égal au tableau de valeurs spécifié.
2 = recherche le dernier index au tableau de valeurs spécifié.
4 = recherche soit un index égal au tableau de valeurs spécifié, soit
juste après où cette correspondance se serait présentée.
8 = recherche un index juste après où une correspondance avec un tableau
de valeurs se serait présentée.
16 = recherche soit un index égal au tableau de valeurs, soit juste
avant où cette correspondance se serait présentée.
32 = recherche une clé juste avant où une correspondance avec
le tableau de valeurs se serait présentée.
|
|
Supports
|
Détermine si le Recordset spécifié prend en charge
certaines fonctionnalités.
|
|
Update
|
Enregistre tous les changements effectués dans l'enregistrement courant
d'un Recordset.
|
|
UpdateBatch
|
Ecrit sur le disque toutes les mises à jour par lot en attente.
|
Propriétés
|
Nom
|
Description
|
|
AbsolutePage
|
Spécifie la page sur laquelle se situe l'enregistrement courant ou encore
la page sur laquelle se rendre.
|
|
AbsolutePosition
|
Indique la position absolue d'un enregistrement courant.
|
|
ActiveConnection
|
Indique l'objet Connection auquel est associé un Recordset.
|
|
BOF
|
VRAI si la position de l'enregistrement courant se situe juste avant
le premier enregistrement.
|
|
Bookmark
|
Renvoie un signet identifiant l'enregistrement courant dans un Recordset
ou définit un signet valide identifiant l'enregistrement courant.
|
|
CacheSize
|
Indique le nombre d'enregistrements en cache local.
|
|
CursorLocation
|
Permet d'indiquer si un curseur est situé sur le client (adUseClient)
ou serveur (adUseServer).
|
|
CursorType
|
Indique le type de curseur utilisé dans un Recordset.
|
|
EditMode
|
Indique l'état d'édition de l'enregistrement courant.
|
|
EOF
|
VRAI si la position de l'enregistrement courant se situe juste après
le dernier enregistrement.
|
|
Filter
|
Indique si un filtre est utilisé.
|
|
LockType
|
Indique un type de verrou placé sur des enregistrements en cours
d'édition.
|
|
MarshalOptions
|
Spécifie quels sont les enregistrements devant être renvoyés en retour
au serveur.
|
|
MaxRecords
|
Indique le nombre d'enregistrements maximum à retourner à partir d'une
requête.
|
|
PageCount
|
Indique le nombre de pages de données que contient un Recordset.
|
|
PageSize
|
Indique le nombre d'enregistrements composant une page.
|
|
RecordCount
|
Indique le nombre d'enregistrements courant présents dans un Recordset.
|
|
Source
|
Indique le nom d'une source de données d'un Recordset (objet Command,
instruction SQL, nom de table, ou procédure stockée).
|
|
State
|
Indique si un jeu d'enregistrements est ouvert ou fermé.
|
|
Status
|
Indique l'état d'un enregistrement courant.
|
Collections
|
Nom
|
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.
|
Nous vous informons que ce cours constitue une œuvre protégée en France
par le Code de la Propriété Intellectuelle, et à l’étranger par les
conventions internationales en vigueur sur le droit d’auteur. La
violation de l’un des droits d’auteur de l’œuvre est un délit de
contrefaçon.
Il est donc interdit, à titre privé ou public, de reproduire, copier,
vendre, revendre ou exploiter, que ce soit dans un but commercial ou
purement gratuit, ce cours, sauf accord exprès et préalable de son
auteur.
|
 |
 |
|
 |