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és| Proprié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; |