Ausführen SQL Server gespeicherter Prozeduren über eine ASP-Seite
In diesem Artikel wird gezeigt, wie Sie SQL Server gespeicherten Prozeduren ausführen und Parameter von einer ASP-Seite (Active Server Pages) verwenden.
Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 300488
Zusammenfassung
In diesem Artikel wird davon ausgegangen, dass Sie mit dem Verfahren zur Verwendung von ActiveX-Datenobjekten (ADO) auf einer ASP-Seite vertraut sind.
Schritt-für-Schritt-Beispiel
Führen Sie die folgende Abfrage in SQL Server Query Analyzer oder SQL Server Management Studio für die Pubs-Datenbank aus:
CREATE proc MyProc ( @price smallint, @out smallint OUTPUT ) AS Select @out = count(*) from titles where price < @price GO
Die gespeicherte Prozedur (
MyProc
) akzeptiert einen Eingabeparameter (@price
) und gibt einen Ausgabeparameter (@out
) zurück.Hinweis
Standardmäßig werden die
Northwind
Beispieldatenbank und die Pubs-Beispieldatenbanken nicht in SQL Server 2005 installiert. Diese Datenbanken können aus dem Microsoft Download Center heruntergeladen werden. Weitere Informationen zum Herunterladen der Northwind-Beispieldatenbank und der Pubs-Beispieldatenbank finden Sie auf der folgenden Microsoft-Website: Herunterladen von Beispieldatenbanken für Northwind und PubsDer folgende ASP-Beispielcode ruft die neu erstellte gespeicherte Prozedur auf. Sie können diesen ASP-Code verwenden, um den Eingabeparameter einzurichten und die Abfrage auszuführen.
Verwenden Sie die
CreateParameter
-Methode, um Parameter in ADO wie folgt zu erstellen:Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
Fügen Sie den Parameter wie folgt an die Parameters-Auflistung an:
Command.Parameters.Append myParameter
Hinweis
Die Parameter in der Parameters-Auflistung müssen mit der Reihenfolge der Parameter in der gespeicherten Prozedur übereinstimmen.
Führen Sie den Befehl aus, um Parameterwerte in und aus der gespeicherten Prozedur wie folgt zu übergeben:
<% Dim cmd Dim ln Dim retCount Set cmd = Server.CreateObject("ADODB.Command") With cmd .ActiveConnection = "Paste your connection string here" .Commandtext = "MyProc" .CommandType = adCmdStoredProc .Parameters.Append .CreateParameter("@price", adSmallInt, adParamInput, 10).Parameters("@price") = 22 .Parameters.Append .CreateParameter("@retValue", adSmallInt, adParamOutput, 10).Execute ln, , adExecuteNoRecords retCount = .Parameters("@retValue") End with Response.Write retcount Set cmd = Nothing %>
Hinweis
Die in diesem Beispiel verwendeten Konstanten finden Sie in der Datei Adovbs.inc . Diese Datei wird während des Setups von Active Server Pages installiert und in dem Ordner abgelegt, der
\Aspsamp\Samples
sich normalerweise in Ihrem\Inetpub
Ordner befindet. Es wird empfohlen, beim Aufrufen der gespeicherten Prozedur die Konstanten anstelle der numerischen Werte zu verwenden, damit Ihr Code einfacher zu lesen und zu verwalten ist.<%@ LANGUAGE = VBScript %> <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
Ändern Sie die ADO-Verbindungszeichenfolge entsprechend Ihrer Umgebung.
Speichern Sie die ASP-Seite, und zeigen Sie sie im Browser an.
Hinweis
Es kann schwierig sein, zu bestimmen, wie eine gespeicherte Prozedur ordnungsgemäß aufgerufen wird, wenn Sie die Parameterinformationen der gespeicherten Prozedur nicht kennen. Ohne die richtigen Informationen können Sie die ADO-Parameter nicht ordnungsgemäß erstellen. Sie können die Refresh-Methode des Parameter-Objekts verwenden, um die Parameters-Auflistung basierend auf der Definition der gespeicherten Prozedur auf dem Server automatisch aufzufüllen. Zum Beispiel:
Command.Parameters.Refresh
References
Weitere Informationen finden Sie unter Erstellen einer einfachen Datenanwendung mithilfe von ADO.NET.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für