Forum de discussion
Forum « Programmation ASP » (archives)
Re: requete stokee access
Envoyé: 4 juin 2004, 9h19 par Oznog
Une discussion sur le sujet d'il y a quelques jours "Re: Procédure stockée avec SqlServer et ASP" (http://www.trucsweb.com/Forum/voirmessage.asp?forumid=10&messageid=15754&posparent=6). Un petit effort, il me semble que le sujet était significatif.
Pour utiliser une procédure tu doit l'exécuter :
oConn.Execute "exec maProcedure"
' Ou avc l'objet Command
set oCmd = Server.CreateObject("ADODB.Command")
set oCcmd.ActiveConnection = oConn
oCmd.CommandText = "maProcedure"
oCmd.CommandType = adCmdStoredProc ' &H0004 indique une précédure
oCmd.Execute
Si la procédure attend des paramètres ou qu'elle en retournent, tu dois ajouter les paramètres à la transaction (Parameters.Append).
oCmd.Parameters.Append oCmd.CreateParameter("valeurRetournee", _
adInteger, adParamReturnValue)
' Pseudo-code
objetCommand.Parameters.Append objetCommand.CreateParameter("NomVariableValeurRetournee", _
typeDeCaractère,InputOUOutput)
' Code complet
<%
' Ouverture de la base
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open monODBC
set oCmd = Server.CreateObject("ADODB.Command")
' Assignation de la connexion
set oCcmd.ActiveConnection = oConn
' Assignation du nom de la procédure
oCmd.CommandText = "maProcedure"
' Type Store Procedur
oCmd.CommandType = adCmdStoredProc ' &H0004
' Retourne un nombre
oCmd.Parameters.Append oCmd.CreateParameter("valeurRetournee", _
adInteger, adParamReturnValue)
' Attend une chaine de caractère, 100 caractères maximum.
oCmd.Parameters.Append oCmd.CreateParameter("Param1", adChar, _
adParamInput, 100)
' Assigne la valeur passée en paramètre
oCmd.Parameters("Param1") = "Ma chaine de 100 caractère maximum"
' Exécute
oCmd.Execute
sMonRetour = oCmd.Parameters("valeurRetournee")
set oCmd = nothing
oConn.Close
Set oConn = Nothing
%>
Et voilà les constante utilisées dans l'exemple, du fichier Adovbs.inc
'---- ParameterDirectionEnum Values ----
Const adParamInput = &H0001
Const adParamReturnValue = &H0004
'---- DataTypeEnum Values ----
Const adInteger = 3
Const adChar = 129
Const adCmdStoredProc = &H0004
p.s. tu trouvera beaucoup de chose sous "ASP Stored Procedures"!
Ciao
Oznog
Réponses
|