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

  1. 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ów

  2. Poniższy przykładowy kod asp wywołuje nowo utworzoną procedurę składowaną. Ten kod asp umożliwia skonfigurowanie parametru wejściowego i uruchomienie zapytania.

    1. 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])
      
    2. 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.

    3. 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" -->
      
  3. Zmodyfikuj parametry połączenia ADO odpowiednio do środowiska.

  4. 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.