Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Votre navigateur n’est pas pris en charge

Vous devez mettre à jour votre navigateur pour utiliser le site.

Mettre à jour vers la dernière version d’Internet Explorer

Comment faire pour appeler des procédures stockées Microsoft SQL Server à partir d'ASP

Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Résumé
Pour vous procurer une version Microsoft Visual Basic .NET de cet article, reportez-vous à l'article 306574.
Cet article indique trois méthodes d'appel d'une procédure stockée à partir d'Active Server Pages à l'aide d'ActiveX Data Objects (ADO).
Plus d'informations
L'exemple suivant utilise l'objet Command pour appeler l'exemple de procédure stockée sp_test. Cette procédure stockée accepte un entier et comporte également une valeur de retour d'un entier :
   <%@ LANGUAGE="VBSCRIPT" %>   <!--#include virtual="/ASPSAMP/SAMPLES/ADOVBS.INC"-->   <HTML>   <HEAD><TITLE>Place Document Title Here</TITLE></HEAD>   <BODY>   This first method queries the data source about the parameters   of the stored procedure. This is the least efficient method of calling   a stored procedure.<BR>   <%   Set cn = Server.CreateObject("ADODB.Connection")   Set cmd = Server.CreateObject("ADODB.Command")   cn.Open "data source name", "userid", "password"   Set cmd.ActiveConnection = cn   cmd.CommandText = "sp_test"   cmd.CommandType = adCmdStoredProc   ' Ask the server about the parameters for the stored proc   cmd.Parameters.Refresh   ' Assign a value to the 2nd parameter.   ' Index of 0 represents first parameter.   cmd.Parameters(1) = 11   cmd.Execute   %>   Calling via method 1<BR>   ReturnValue = <% Response.Write cmd.Parameters(0) %><P>   <!-- ************************************************************ -->   Method 2 declares the stored procedure, and then explicitly declares   the parameters.<BR>   <%   Set cn = Server.CreateObject("ADODB.Connection")   cn.Open "data source name", "userid", "password"   Set cmd = Server.CreateObject("ADODB.Command")   Set cmd.ActiveConnection = cn   cmd.CommandText = "sp_test"   cmd.CommandType = adCmdStoredProc   cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _      adParamReturnValue)   cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _      adParamInput)   ' Set value of Param1 of the default collection to 22   cmd("Param1") = 22   cmd.Execute   %>   Calling via method 2<BR>   ReturnValue = <% Response.Write cmd(0) %><P>   <!-- ************************************************************ -->   Method 3 is probably the most formal way of calling a stored procedure.   It uses the canocial   <%   Set cn = Server.CreateObject("ADODB.Connection")   cn.Open "data source name", "userid", "password"   Set cmd = Server.CreateObject("ADODB.Command")   Set cmd.ActiveConnection = cn   ' Define the stored procedure's inputs and outputs   ' Question marks act as placeholders for each parameter for the   ' stored procedure   cmd.CommandText = "{?=call sp_test(?)}"   ' specify parameter info 1 by 1 in the order of the question marks   ' specified when we defined the stored procedure   cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _   adParamReturnValue)   cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _     adParamInput)   cmd.Parameters("Param1") = 33   cmd.Execute   %>   Calling via method 3<BR>   ReturnValue = <% Response.Write cmd("RetVal") %><P>   </BODY>   </HTML>				
Notez que dans les exemples ci-dessus, plusieurs méthodes d'accès à la collection Parameters de l'objet Command sont utilisées. Certaines utilisent la collection par défaut de l'objet Command tandis que d'autres spécifient à quelle propriété d'une collection donnée il faut accéder.
Références
Pour connaître les articles de la Base de connaissances les plus récents et d'autres informations d'assistance sur Visual InterDev et Active Server Pages, consultez la page suivante sur le site de support technique de Microsoft :
Propriétés

ID d'article : 164485 - Dernière mise à jour : 07/25/2006 08:44:10 - Révision : 4.0

  • Microsoft Active Server Pages 4.0
  • Microsoft ActiveX Data Objects 2.0
  • Microsoft ActiveX Data Objects 2.1 Service Pack 1
  • Microsoft ActiveX Data Objects 2.1 Service Pack 2
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft ActiveX Data Objects 2.6
  • Microsoft ActiveX Data Objects 2.7
  • kbcode kbdatabase kbhowto kbsample kbscript KB164485
Commentaires