ASP ページSQL Serverストアド プロシージャを実行する

この記事では、ストアド プロシージャをSQL Serverし、ASP (ASP) ページからパラメーター Active Server Pages使用する方法について説明します。

元の製品バージョン:  インターネット インフォメーション サービス
元の KB 番号:   300488

概要

この記事では、ASP ページでデータ オブジェクト (ADO) をActiveXする手順を理解している必要があります。

ステップ バイ ステップの例

  1. クエリ アナライザーで次のクエリSQL Server実行するか、Pubs SQL Server Management Studioに対して実行します。

    CREATE proc MyProc
    (
        @price smallint,
        @out smallint OUTPUT
    )
    AS
    Select @out = count(*) from titles where price < @price
    GO
    

    ストアド プロシージャ ( MyProc ) は、1 つの入力パラメーター ( ) を受け取 @price り、1 つの出力パラメーター ( ) を返します @out

    注意

    既定では、サンプル データベースと pubs サンプル データベースは Northwind 2005 年SQL Serverされません。 これらのデータベースは、Microsoft ダウンロード センターからダウンロードできます。 Northwind サンプル データベースと pubs サンプル データベースをダウンロードする方法の詳細については、次の Microsoft Web サイトを参照してください。 Northwind とpubsサンプル データベースのダウンロード

  2. 次の ASP サンプル コードは、新しく作成されたストアド プロシージャを呼び出します。 この ASP コードを使用して、入力パラメーターを設定し、クエリを実行できます。

    1. ADO で CreateParameter 次のようにパラメーターを作成するには、このメソッドを使用します。

      Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
      
    2. パラメーターを Parameters コレクションに次のように追加しました。

      Command.Parameters.Append myParameter
      

      注意

      Parameters コレクションのパラメーターは、ストアド プロシージャ内のパラメーターの順序と一致している必要があります。

    3. コマンドを実行して、ストアド プロシージャのパラメーター値を次のように渡します。

      <%
      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
      %>
      

      注意

      このサンプルで使用される定数は 、Adovbs.inc ファイルで確認 できます。 このファイルは、Active Server Pagesにインストールされ、通常はフォルダー \Aspsamp\Samples に配置 \Inetpub されます。 ストアド プロシージャを呼び出す場合は、数値ではなく定数を使用して、コードの読み取りと管理が容易に行う方法をお勧めします。

       <%@ LANGUAGE = VBScript %>
       <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
      
  3. 環境に応じて ADO 接続文字列を変更します。

  4. ASP ページを保存し、ブラウザーで表示します。

    注意

    ストアド プロシージャのパラメーター情報に気づいていない場合は、ストアド プロシージャを適切に呼び出す方法を特定することは困難です。 正しい情報がない場合は、ADO パラメーターを適切に作成できません。 Parameter オブジェクトの Refresh メソッドを使用すると、サーバー上のストアド プロシージャの定義に基づいて、Parameters コレクションを自動的に設定できます。 例:

    Command.Parameters.Refresh
    

関連情報

詳細については、「Create a simple data applicationby using using」を参照 ADO.NET。