ASP ページからストアド プロシージャSQL Server実行する
この記事では、ストアド プロシージャSQL Server実行し、Active Server Pages (ASP) ページからパラメーターを使用する方法について説明します。
元の製品バージョン:インターネット インフォメーション サービス
元の KB 番号: 300488
概要
この記事では、ASP ページで ActiveX データ オブジェクト (ADO) を使用する手順について理解していることを前提としています。
ステップ バイ ステップの例
クエリ アナライザーで次のクエリ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
) を返します。注:
既定では、
Northwind
サンプル データベースと pubs サンプル データベースは、SQL Server 2005 にはインストールされません。 これらのデータベースは、Microsoft ダウンロード センターからダウンロードできます。 Northwind サンプル データベースと pubs サンプル データベースをダウンロードする方法の詳細については、次の Microsoft Web サイトを参照してください。 Northwind と pubs サンプル データベースのダウンロード次の ASP サンプル コードは、新しく作成されたストアド プロシージャを呼び出します。 この ASP コードを使用して、入力パラメーターを設定し、クエリを実行できます。
メソッドを
CreateParameter
使用して、次のように ADO でパラメーターを作成します。Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
パラメーターを Parameters コレクションに次のように追加しました。
Command.Parameters.Append myParameter
注:
Parameters コレクション内のパラメーターは、ストアド プロシージャ内のパラメーターの順序と一致する必要があります。
コマンドを実行して、ストアド プロシージャのパラメーター値を次のように渡します。
<% 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 のセットアップ中にインストールされ、通常はフォルダー内にあるフォルダーに
\Inetpub
配置\Aspsamp\Samples
されます。 コードの読み取りと保守が容易になるように、ストアド プロシージャを呼び出すときに数値ではなく定数を使用することをお勧めします。<%@ LANGUAGE = VBScript %> <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
環境に応じて ADO 接続文字列を変更します。
ASP ページを保存し、ブラウザーで表示します。
注:
ストアド プロシージャのパラメーター情報を認識していない場合、ストアド プロシージャを適切に呼び出す方法を判断するのは困難な場合があります。 正しい情報がないと、ADO パラメーターを適切に作成できません。 Parameter オブジェクトの Refresh メソッドを使用すると、サーバー上のストアド プロシージャの定義に基づいて Parameters コレクションを自動的に設定できます。 例:
Command.Parameters.Refresh
関連情報
詳細については、「ADO.NET を使用して単純なデータ アプリケーションを作成する」を参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示