Ausführen SQL Server gespeicherter Prozeduren von einer 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 zum Verwenden von ActiveX Data Objects (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 GODie gespeicherte Prozedur (
MyProc) akzeptiert einen Eingabeparameter ( ) und@pricegibt einen Ausgabeparameter ( )@outzurück.Hinweis
Standardmäßig werden die
NorthwindBeispieldatenbank 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 Northwind- und Pubs-BeispieldatenbankenDer 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
CreateParameterMethode, um Parameter in ADO wie folgt zu erstellen:Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])Der Parameter wurde wie folgt an die Parameters -Auflistung angefügt:
Command.Parameters.Append myParameterHinweis
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 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 beim Setup von Active Server Pages installiert und in dem Ordner gespeichert, der
\Aspsamp\Samplessich normalerweise in Ihrem Ordner\Inetpubbefindet. 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 automatisch basierend auf der Definition der gespeicherten Prozedur auf dem Server aufzufüllen. Zum Beispiel:
Command.Parameters.Refresh
References
Weitere Informationen finden Sie unter Erstellen einer einfachen Datenanwendung mithilfe von ADO.NET.