L'objet ADO Command permet d'exécuter diverses commandes sur des sources de données.

L'objet Command peut appliquer des requêtes sur une base de données et obtenir en retour des enregistrements (record) dans un jeu d'enregistrements (Recordset).

Il est également possible de manipuler la structure d'une base de données par l'intermédiaire de l'objet Command.

Le constructeur ci-dessous permet de créer un objet ADO Command.

Set Objet_Command = Server.CreateObject("ADODB.Command")
'ou
Set Objet_Command = New ADODB.Command

Désormais, il devient possible d'appliquer à cet objet ainsi créé, ses collections, propriétés ou méthodes.

Objet_Command.Collection | Propriété | Méthode
Les Collections
Collection
Description
Parameters
représente tous les objets paramètres d'un objet Command.
Properties
représente toutes les propriétés d'un objet Command
Les Propriétés
Propriété
Description
Set obj_Command.ActiveConnection = obj_Connection
indique l'appartenance à un objet Connection de l'objet en cours.
Objet_Command.CommandStream = "Chaîne de caractères"
indique le flux utilisé comme l'entrée pour un objet Command.
Objet_Command.CommandText = "Chaîne de caractères"
contient le texte d'une commande qui doit être envoyé à un fournisseur.
Objet_Command.CommandTimeout = Temps
indique le délai à appliquer lors de la tentative d'exécution d'une commande avant de déclencher l'interruption puis la génération d'un message d'erreur.
objet_Command.CommandType = CommandTypeEnum
indique le type d'un objet Command.
objet_Command.Dialect = GUID
indique le dialecte des propriétés CommandText ou Commandstream.
objet_Command.Name
retourne le nom d'un objet.
objet_Command.NamedParameters = True | False
indique si les noms de paramètres devraient être passés au fournisseur.
objet_Command.Prepared = True | False
indique s'il faut sauvegarder une version compilée d'une commande après l'exécution.
objet_Command.State = ObjectStateEnum
indique pour tous les objets applicables si l'état de l'objet est ouvert ou fermé.
Les Méthodes
Méthode
Description
Objet_Command.Cancel
annule l'exécution de l'appel d'une méthode
Set Objet_Parameter = Object_Command.CreateParameter(Nom, Type,
ParameterDirectionEnum, Taille, Valeur)
crée un nouvel objet Parameter avec les propriétés spécifiées.
Set recordset = Objet_Command.Execute(Enregistrements_Affectés,
Paramètres, Options)
'ou_Command.Execute
exécute une requête, un instructions SQL ou une procédure stockée spécifiée dans la propriété CommandText
Exemple [voir]
<html>
<head>
<title>Démonstration de Command</title>
<script language="VBScript">
  Sub Soumission_OnClick()
    If Len(formulaire.Nom.value) = 0 Then
    Alert "Veuillez entrer votre nom de famille !"
    formulaire.Nom.focus
    Exit Sub
    ElseIf Len(formulaire.Prenom.value) = 0 Then
    Alert "Veuillez entrer votre prénom !"
    formulaire.Prenom.focus
    Exit Sub
    ElseIf Len(formulaire.Age.value) = 0 Then
    Alert "Veuillez entrer votre âge !"
    formulaire.Age.focus
    Exit Sub
    ElseIf Len(formulaire.Qualite.value) = 0 Then
    Alert "Veuillez entrer votre qualité !"
    formulaire.Qualite.focus
    Exit Sub
    ElseIf Len(formulaire.eMail.value) = 0 Then
    Alert "Veuillez entrer votre adresse email !"
    formulaire.eMail.focus
    Exit Sub
    ElseIf Len(formulaire.Adresse.value) = 0 Then
    Alert "Veuillez entrer votre adresse complète !"
    formulaire.Adresse.focus
    Exit Sub
    End If
    Call formulaire.submit()
  End Sub
</script>
</head>
<body>
<%
  If Len(Request.Form("Etape")) = 0 Then
%>
<form action="command.asp" method="post" name="formulaire">
  <input type="hidden" name="Etape" value="Ajout">
  <table>
    <tr>
    <td>Nom</td>
    <td>
      <input type="text" name="Nom" size="20" value="ANNAIS">
    </td>
    </tr>
    <tr>
    <td>Prénom</td>
    <td>
      <input type="text" name="Prenom" size="20" value="Angélique">
    </td>
    </tr>
    <tr>
    <td>Age</td>
    <td>
      <input type="text" name="Age" size="3" value="23">
    </td>
    </tr>
    <tr>
    <td>Qualité</td>
    <td>
      <input type="text" name="Qualite" size="20" value="Rédacteur">
    </td>
    </tr>
    <tr>
    <td>eMail</td>
    <td>
      <input type="text" name="eMail" size="20" 
                value="angelique.annais@inc.com">
    </td>
    </tr>
    <tr>
    <td>Adresse</td>
    <td>
      <input type="text" name="Adresse" size="20" 
                value="155 Avenue Lingenfield 75000 PARIS">
    </td>
    </tr>
    <tr>
    <td>
      <input type="button" name="Soumission" value="Soumettre">
    </td>
    </tr>
  </table>
</form>
<%
  ElseIf Request.Form("Etape") = "Ajout" Then
  Dim Commande_SQL
  Commande_SQL = "Insert into Fiche (Nom, Prenom, Age, " & _
          "Qualite, eMail, Adresse) Values('" & _
           CStr(Request.Form("Nom")) & "','" & _
           CStr(Request.Form("Prenom")) & "'," & _
           CLng(Request.Form("Age")) & ",'" & _
           CStr(Request.Form("Qualite")) & "','" & _
           CStr(Request.Form("eMail")) & "','" & _
           CStr(Request.Form("Adresse")) & "')"
  Set obj_Connection = Server.CreateObject("ADODB.Connection")
  obj_Connection.Open "DSN=personnel"
  Set obj_Command = Server.CreateObject("ADODB.Command")
  Set obj_Command.ActiveConnection = obj_Connection
  obj_Command.CommandText = Commande_SQL
  obj_Command.CommandType = 1
  obj_Command.Execute
  Response.Write "<p>Les éléments suivants ont été ajoutés à la " & _
                "table de données <i>Personnel</i> :</p>" & _
                "<b>" & Commande_SQL & "</b>"
  Set obj_Command = Nothing
  obj_Connection.Close
  Set obj_Connection = Nothing
  End If
%>
</body>
</html>