IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)


Mis à jour le 18/12/2002

Par Sébastien Curutchet

Objet Recordset Sommaire  

Droit de diffusion et d'utilisation:
Tous les documents ou partie de document ainsi que le code sont libres d'accès, mais ne peuvent pas être diffusés sur d'autres sites HTTP, FTP ou autres, sans mon accord.
L'ensemble de mon code mis à votre diposition est libre d'utilisation tant qu'il ne sert pas à la réalisation d'applications payantes. Je demande juste aux personnes incluant mon code dans leurs applications d'y laisser le commentaire mis en entête.


Après avoir vu l'objet Recordset, nous allons voir l'objet Command et lien entre entre ces deux objets.

4. Réaliser des requêtes avec l'objet Command

Comme pour les autres objets, vous devez commencer par déclarer une variable de type Command.

Dim rst As New ADODB.Command

ou alors

Dim rst As ADODB.Command
Set rst = New ADODB.Command


L'objet Command est un peu plus complexe que le Recordset quoique. L'avantage de l'objet Command par rapport à l'objet Recordset est de pouvoir facilement paramétrer les requêtes mêmes les SELECT.

Pour pouvoir utiliser des requêtes paramétrables il faut utiliser le symbôle ? dans la requête SQL puis rajouter un objet Parameter à l'objet Command.

Pour être plus clair voici un exemple :

'Déclaration des variables
Dim cnx As ADODB.Connection
Dim cmd As ADODB.Command
Dim prm1 As ADODB.Parameter
Dim rst As ADODB.Recordset

'Instanciation des variables
Set cnx = New ADODB.Connection
Set cmd = New ADODB.Command
Set prm1 = New ADODB.Parameter
Set rst = New ADODB.Recordset

'Connexion à la base de données
cnx.ConnectionString = "Provider=" & PiloteDaccesAlaBaseDeDonnées & ";DSN=" & NomDuDSN & ";UID=" & NomUtilisateur & ";PWD=" & MotDePasse & ";"
cnx.Open

'Préparation de l'objet Command
cmd.CommandText = "SELECT * FROM Client WHERE nom = ?"

'Préparation du paramètre
prm1.Name = "nom" 'Nom du champ correspondant
prm.Type = adVarChar 'Type du champ
prm.Direction = adInput 'Type de paramètre : Entrée, Sortie, Entrée/Sortie
prm.Size = 40 'Taille maximale du champ
prm.Value = "Dupond" 'Valeur du paramètre

'Exécution de la requête
Set rst = cmd.Execute

Comme vous avez pû le remarquer, j'ai utilisé un Recordset dans cet exemple. Voici une façon de récupérer les enregistrements retournés par un SELECT. L'objet Recordset n'est nécessaire que dans le cas d'un SELECT. Dans les autres cas vous pouvez tapper juste cmd.Execute. La méthode Execute de l'objet Command peut prendre trois paramètres qui sont falcutatifs:

  • le premier est le nombre d'enregistrements affectés par la requête. Il est de type Long
  • le deuxième est un tableau de Variant contenant les paramètres de la requête SQL
  • le troisème indique le type de valeur que le fournisseur doit attribuer à la propriété CommandText

La propriété CommandText contient la requête à exécuter. Ca peut être une requête standard comme une requête de modification de l'architecture d'une table ou de la base de données.

Pour conclure ce chapitre, j'ai juste une dernière chose à vous signaler. Dans le cas où vous utilisez les objets Parameter faites attention à faire les Append de vos paramètres dans le même ordre que les ? dans la requête SQL.


Objet Recordset Sommaire  

Documents réalisés par Sébastien Curutchet