Partager via


Command, objet (ADO)

Définit une commande spécifique que vous envisagez d’exécuter sur une source de données.

Notes

Utilisez un objet Command pour interroger une base de données et retourner des enregistrements dans un objet Recordset, pour exécuter une opération en bloc ou pour manipuler la structure d’une base de données. Selon les fonctionnalités offertes par le fournisseur, certaines collections Command, méthodes ou propriétés peuvent générer une erreur lorsqu’elles sont référencées.

Avec les collections, les méthodes et les propriétés d’un objet Command, vous pouvez effectuer les opérations suivantes :

  • Définissez le texte exécutable de la commande (par exemple, une instruction SQL) avec la propriété CommandText . Vous pouvez également définir la commande avec la propriété CommandStream pour les structures de commande ou de requête autres que les chaînes simples (par exemple, les requêtes de modèle XML).

  • Si vous le souhaitez, indiquez le dialecte de commande utilisé dans CommandText ou CommandStream avec la propriété Dialect.

  • Définissez des requêtes paramétrables ou des arguments de procédure stockée avec des objets Parameter et la collection Parameters.

  • Indiquez si les noms de paramètres doivent être transmis au fournisseur avec la propriété NamedParameters.

  • Exécutez une commande et retournez un objet Recordset si nécessaire avec la méthode Execute.

  • Spécifier le type de commande avec la propriété CommandType avant l’exécution pour optimiser les performances.

  • Vérifiez si le fournisseur enregistre une version préparée (ou compilée) de la commande avant l’exécution avec la propriété Prepare.

  • Définir le nombre de secondes pendant lesquelles un fournisseur attend qu’une commande s’exécute avec la propriété CommandTimeout.

  • Associez une connexion ouverte à un objet Command en définissant sa propriété ActiveConnection.

  • Définir la propriété Name pour identifier l’objet Command comme méthode sur l’objet Connection associé.

  • Transmettre un objet Command à la propriété Source d’un Recordset pour obtenir des données.

  • Accéder aux attributs spécifiques au fournisseur avec la collection Properties.

Remarque

Pour exécuter une requête sans utiliser d’objet Command, transmettez une chaîne de requête à la méthode Execute d’un objet Connection ou à la méthode Open d’un objet Recordset. Toutefois, un objet Command est requis lorsque vous souhaitez conserver le texte de la commande et la réexécuter, ou utiliser des paramètres de requête.

Pour créer un objet Command indépendamment d’un objet Connection précédemment défini, définissez sa propriété ActiveConnection sur une chaîne de connexion valide. ADO crée toujours un objet Connection, mais n’affecte pas cet objet à une variable d’objet. Toutefois, si vous associez plusieurs objets Command à la même connexion, vous devez créer et ouvrir explicitement un objet Connection ; cela affecte l’objet Connection à une variable d’objet. Assurez-vous que l’objet Connection a été ouvert correctement avant de l’affecter à la propriété ActiveConnection de l’objet Command, car l’affectation d’un objet Connection fermé provoque une erreur. Si vous ne définissez pas la propriété ActiveConnection de l’objet Command sur cette variable d’objet, ADO crée un objet Connection pour chaque objet Command, même si vous utilisez la même chaîne de connexion.

Pour exécuter une commande, appelez-la par sa propriété Name sur l’objet Connection associé. La commande doit avoir sa propriété ActiveConnection définie sur l’objet Connection. Si l’objet Command a des paramètres, transmettez leurs valeurs en tant qu’arguments à la méthode.

Si deux objets Command ou plus sont exécutés sur la même connexion et que l’objet Command est une procédure stockée avec des paramètres de sortie, une erreur se produit. Pour exécuter chaque objet Command, utilisez des connexions distinctes ou déconnectez tous les autres objets Command de la connexion.

La collection Parameters est le membre par défaut de l’objet Command. Par conséquent, les deux instructions de code suivantes sont équivalentes.

objCmd.Parameters.Item(0)  
objCmd(0)  
  • L’objet Command n’est pas sécurisé pour le script.

Cette section contient la rubrique suivante.

Voir aussi

Connection, objet (ADO MD)
Parameters, collection (ADO)
Properties, collection (ADO)
Annexe A : Fournisseurs