Pour communiquer avec une base de donnée, nous devons utiliser en ASP
les ActiveX Data Objects (ADO).
Le
recordset (jeu d'enregistrement) est certainement l'objet ADO le plus
utilisé, puiqu'il contient l'ensemble des données extraites
de nos sources (base de données, XML,...), celui-ci contient
une collection fields qui contient à son tour un objet field pour
chaque champ ou colonne du jeu d'enregistrement.
Il permet de :
Lire
les informations contenues dans une base de données
Insérer
des informations dans celles-ci
Mettre
à jour des informations
En
supprimer.
2
. le schéma type d'un recordset :
colonne
1
colonne
2
colonne
3
colonne
4
Rangée
1
Objet
field
Objet
field
B.O.F
Objet
field
Objet
field
Objet
field
Objet
field
E.O.F
}collection
fields1 ou instance
Rangée
2
}collection fields2
Rangée
n
}collection fields n
Propriétés
de l'objet field
Value
Contient
les données issues de notre source de données
Name
Contient
le nom de la colonne à laquelle est associée l'objet
Type
Type
de données contenues dans la cellule (chaîne de caractères,
date, integer...)
Precision
Correspond
au nombre maximal pouvant être utilisé par des valeurs
numériques
NumericScale
Nombre
de décimales des valeurs numériques
DefinedSize
Taille
maximale exprimée en octet, que peut contenir la cellule
Actualsize
Taille
verritable des données actuellement contenues dans
la cellule
exemple : pour afficher la taille actuelle de l'objet field rangée
1 colonne 1 nous devons nous positionner sur la premiere instance
Indique
au fournisseur l'argument source : c.a.d s'il s'agit d'une table ou
d'une chaîne de texte
2.1
Types de curseurs
Curseurs
Statique
(static, adOpenStatic )
Les
curseurs statiques contiennent une copie statique du jeu d'enregistrement.
Toute modification sur la base de donnée ne sera pas visible
sur le recordset
Le déplacement dans le recordset se fait alors en avant et
en arrière
Forward-only
(forwardonly, adOpenForwardOnly ).
C'est
le curseur par default, identique au curseur statique, à la
différence que le déplacement dans le recordset ne se
fait que vers l'avant.
Dynamique
( Dynamic, adOpenDynamic ).
Il
ne contient pas de nombre fixe d'enregistrement. Toute modification
effectuée sur la base de donnée et répercutée
sur le Recordset. Déplacement avant et arrière possible.
Jeu
de clés (keyset, adOpenKeySet ).
Identique
au curseur dynamique à ceci près que le jeu d'enregistrement
est figé : tout ajout sur la base de donnée ne sera
pas repercuté sur le Recordset.
Les modifications seront prises en compte.
Pour toute suppression dans la base, les données correspondantes
ne seront plus accessibles.
2.2
Types de verrous
Verrous
Lecture
seule (adLockReadOnly).
Verrou par defaut. Le jeu d'enregistrement ne peut être
modifié.
Pessimiste
(adLockPessimistic).
Lors de la modification d'un enregistrement, le fournisseur
tente de verrouiller celui-ci afin de garantir le succès de
la modification. Le verrouillage intervient dès l'édition.
Optimiste
( adLockOptimistic).
L'enregistrement n'est pas verrouillé tant
que l'on n'a pas fait appel à la méthode update.
Optimiste
par lots (adLockBatchOptimistic).
Idem que pour le verrouillage optimiste à la différence
que cette fois-ci le verrouillage concerne plusieurs enregistrements
et que la méthode à utiliser est : UpdateBatch
2.3
ADOVBS.INC
Les
constantes adOpenStatic, adLockReadOnly, adOpenDynamic et les autres utilisées
pour définir les types de verrous et de curseur ne sont pas directement
intégrées aux ASP.
Il existe deux façons de passer des paramètres à
l'ouverture du recordset :
OBJ_RS.Open "table",OBJ_connexion,0,1
ou
OBJ_RS.Open "table",OBJ_connexion,adOpenForwardOnly,adLockReadOnly
La
deuxième ligne de code est équivalente à la première,
à la différence que en utilisant les constantes définies
dans le fichier ADOVBS.INC la lecture est plus simple et pas besoin de
chercher la valeur des constantes.