Aufrufen gespeicherter SQL Server-Prozeduren über ASP

Veralteter Haftungsausschluss für KB-Inhalte

Dieser Artikel wurde für Produkte geschrieben, für die Microsoft keinen Support mehr anbietet. Deshalb wird dieser Artikel im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
164485 How to call SQL Server stored procedures from ASP

Zusammenfassung

In Artikel 306574 wird dieses Thema für Microsoft Visual Basic .NET behandelt.

Dieser Artikel erläutert drei Methoden zum Aufrufen einer gespeicherten Prozedur über Active Server Pages mithilfe von ActiveX Data Objects (ADO).

Weitere Informationen

Bei dem folgenden Beispiel wird das Objekt "Command" (Befehl) verwendet, um eine gespeicherte Beispielprozedur mit dem Namen "sp_test" aufzurufen. Diese gespeicherte Prozedur akzeptiert ganzzahlige Werte und gibt auch ganzzahlige Werte zurück:
    <%@ 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> 
Bei den vorstehenden Beispielen werden verschiedene Methoden angewendet, um auf die Auflistung "Parameter" des Command-Objekts zuzugreifen. Bei einigen Beispielen wird die Standardauflistung des Command-Objekts verwendet, während bei anderen angegeben wird, auf welche Eigenschaft einer bestimmten Auflistung zugegriffen werden soll.

Informationsquellen

Aktuelle Artikel der Knowledge Base und weitere Supportinformationen zu Visual InterDev und Active Server Pages finden Sie auf der folgenden Seite der Microsoft Technical Support-Website:
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 164485 – Letzte Überarbeitung: 02.05.2006 – Revision: 1

Feedback