La collection ADO Parameters contient tous les objets Parameter d'un objet Command.
Parameters.Propriété | Méthode
Les paramètres sont généralement utilisées avec des procédures stockées dans des bases de données SQL et dans ce cas fonctionnent comme des arguments transmettant leur valeur à une fonction ou une procédure SQL.
La création des paramètres passe par l'objet Command associé à sa méthode CreateParameter.
Set Objet_Parameter = _ Objet.Command.CreateParameter(Nom, Type, Direction, Taille, Valeur) |
Ensuite, il ne reste plus qu'à insérer les paramètres ainsi créés dans le collection Parameters par l'intermédiaire de sa méthode Append.
Objet_Command.Parameters.Append Objet_parameter
L'accès à la valeur d'un paramètre précis peut s'effectuer soit par son nom ou son index à partir de la collection.
Valeur = Object_Command.Parameters(Index) Valeur = Object_Command.Parameters("Nom")
Enfin, il est également possible de modifier la valeur d'un paramètre de la même façon.
Object_Command.Parameters(Index) = Valeur Object_Command.Parameters("Nom") = Valeur
L'index de la collection Parameter commençant par la valeur zéro, le premier paramètre est accessible à partir de zéro.
Les PropriétésPropriété |
---|
Description |
Parameters.Count |
indique le nombre d'objets Parameter d'une collection. |
Parameters.Item(Index) |
retourne un élément de la collection. |
Méthode |
---|
Description |
Fields.Append Nom_Field, Type, Taille_Champs, FieldAttributeEnum, Valeur |
ajoute un objet à une collection. |
Parameters.Delete Nom_Field |
supprime un objet de la collection. |
Parameters.Refresh |
met à jour les objets Parameter dans la collection afin de reflèter les objets disponibles à partir du fournisseur et propre à ce-dernier. |
<html> <body> <% Function Verif_coll_Errors(oConn) Dim obj_Error If Err.Number <> oConn.Errors(0).Number Then Exit Function End If If oConn.Errors.Count > 0 Then For Each obj_Error in obj_Connection.Errors If obj_Error.Number <> 0 Then Response.Write "" & _ "<table border="0" cellpadding=1 cellspacing=2 border=1>" & _ "<tr><th>Propriété</th><th>Valeur</th>" & _ "</tr><tr><th>Numéro</th><td>" & obj_Error.Number & "</td></tr>" & _ "<tr><th>Erreur native</th><td>" & obj_Error.NativeError & "</td></tr>" & _ "<tr><th>Etat SQL</th><td>" & obj_Error.SQLState & "</td></tr>" & _ "<tr><th>Source</th><td>" & obj_Error.Source & "</td></tr>" & _ "<tr><th>Description</th><td>" & obj_Error.Description & "</td></tr>" & _ "</table>" Verif_coll_Errors = True End If Next Else Verif_coll_Errors = False End If End Function On Error Resume Next Dim adCmdStoredProc Dim adInteger Dim adVarChar Dim adParamInput adCmdStoredProc = 4 adInteger = 3 adVarChar = 200 adParamInput = 1 Set obj_Connection = Server.CreateObject("ADODB.Connection") obj_Connection.Open "dsn=librairie" Set obj_Command = Server.CreateObject("ADODB.Command") Set obj_Parameter = Server.CreateObject("ADODB.Parameter") Set obj_Recordset = Server.CreateObject("ADODB.Recordset") Set obj_Command.ActiveConnection = obj_Connection obj_Command.CommandText = "choixlivre" obj_Command.CommandType = adCmdStoredProc obj_Parameter.Name = "Editeur" obj_Parameter.Type = adVarChar obj_Parameter.Direction = adParamInput obj_Parameter.Size = 255 obj_Parameter.Value = "EYROLLES" obj_Command.Parameters.Append obj_Parameter Set obj_Parameter = _ obj_Command.CreateParameter("Categorie",adInteger,adParamInput,,2) obj_Command.Parameters.Append obj_Parameter Set obj_Recordset = obj_Command.Execute If Verif_coll_Errors(obj_Connection) = False Then Compteur = obj_Recordset.Fields.Count - 1 %> <table border="1" cellspacing="1" cellpadding="2"> <tr> <th colspan="5">Sélection de la cétégorie n° <%=obj_Command.Parameters.Item("Categorie").Value%> et de l'éditeur <%=obj_Command.Parameters.Item("Editeur").Value%> </th> </tr> <tr> <th>Livre</th> <th>Collection</th> <th>Editeur</th> <th>Catégorie</th> <th>Prix</th> </tr> <% Do While Not obj_Recordset.EOF %> <tr> <% For i = 0 To Compteur %> <td><%=obj_Recordset.Fields.Item(i)%></td> <% Next %> </tr> <% obj_Recordset.MoveNext Loop End If obj_Recordset.Close Set obj_Recordset = Nothing Set obj_Parameter = Nothing Set obj_Command = Nothing obj_Connection.Close Set obj_Connection = Nothing %> </table> </body> </html> <!-- Requête paramétrée dans les requêtes de la base de données : choixlivre --> PARAMETERS NomEditeur Text ( 255 ), CodeCategorie Long; SELECT l.nom, l.collection, l.Editeur, c.nom, l.euros FROM livre AS l INNER JOIN categorie AS c ON l.clecategorie=c.numcategorie WHERE (((l.editeur)=[NomEditeur]) AND ((c.numcategorie)=[CodeCategorie])) ORDER BY l.nom; |