Uruchamianie SQL Server procedur składowanych ze strony asp
W tym artykule przedstawiono sposób uruchamiania SQL Server procedur składowanych i używania parametrów ze strony Active Server Pages (ASP).
Oryginalna wersja produktu: Internet Information Services
Oryginalny numer KB: 300488
Podsumowanie
W tym artykule przyjęto założenie, że znasz procedurę używania obiektów danych ActiveX (ADO) na stronie asp.
Przykład krok po kroku
Uruchom następujące zapytanie w SQL Server Query Analyzer lub SQL Server Management Studio względem bazy danych pubów:
CREATE proc MyProc ( @price smallint, @out smallint OUTPUT ) AS Select @out = count(*) from titles where price < @price GO
Procedura składowana (
MyProc
) przyjmuje jeden parametr wejściowy (@price
) i zwraca jeden parametr wyjściowy (@out
).Uwaga
Domyślnie przykładowa
Northwind
baza danych i przykładowe bazy danych pubów nie są zainstalowane w SQL Server 2005 r. Te bazy danych można pobrać z Centrum pobierania Microsoft. Aby uzyskać więcej informacji na temat pobierania przykładowej bazy danych northwind i przykładowej bazy danych pubów, odwiedź następującą witrynę internetową firmy Microsoft: Pobieranie przykładowych baz danych northwind i pubówPoniższy przykładowy kod asp wywołuje nowo utworzoną procedurę składowaną. Ten kod asp umożliwia skonfigurowanie parametru wejściowego i uruchomienie zapytania.
Użyj metody ,
CreateParameter
aby utworzyć parametry w usłudze ADO w następujący sposób:Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
Dołączono parametr do kolekcji Parameters w następujący sposób:
Command.Parameters.Append myParameter
Uwaga
Parametry w kolekcji Parameters muszą być zgodne z kolejnością parametrów w procedurze składowanej.
Uruchom polecenie , aby przekazać wartości parametrów do i z procedury składowanej w następujący sposób:
<% 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 %>
Uwaga
Stałe używane w tym przykładzie można znaleźć w pliku Adovbs.inc . Ten plik jest instalowany podczas konfigurowania stron aktywnego serwera i umieszczany w folderze
\Aspsamp\Samples
, który zwykle znajduje się w folderze\Inetpub
. Zaleca się stosowanie stałych, a nie wartości liczbowych podczas wywoływania procedury składowanej, aby kod był łatwiejszy do odczytania i konserwacji.<%@ LANGUAGE = VBScript %> <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
Zmodyfikuj parametry połączenia ADO odpowiednio do środowiska.
Zapisz stronę asp i wyświetl ją w przeglądarce.
Uwaga
Ustalenie, jak prawidłowo wywołać procedurę składowaną, może być trudne, jeśli nie znasz informacji o parametrach procedury składowanej. Bez prawidłowych informacji nie można poprawnie utworzyć parametrów ADO. Metoda Refresh obiektu Parameter umożliwia automatyczne wypełnienie kolekcji Parameters na podstawie definicji procedury składowanej na serwerze. Przykład:
Command.Parameters.Refresh
Informacje
Aby uzyskać więcej informacji, zobacz Tworzenie prostej aplikacji danych przy użyciu ADO.NET.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla