1 これは最も単純なメソッドでもあり、2 つの入力パラメータがあり、戻り値はありません。
set connection =server.createobject(adodb.connection)
接続.DSN を開く
Connection.Execute procname varvalue1、varvalue2
'すべてのオブジェクトをクリアしてリソースを解放します
接続.閉じる
接続=なしを設定します
2 レコードセット セットを返す場合は、次の手順を実行します。
set connection =server.createobject(adodb.connection)
接続.DSN を開く
set rs =server.createobject(adodb.recordset)
rs.Open Exec procname varvalue1、varvalue2、connection
'すべてのオブジェクトをクリアしてリソースを解放します
rs.close
接続.閉じる
setrs=なし
接続=なしを設定します
3 上記 2 つのメソッドはどちらも戻り値を持てません (Recordset を除く)。戻り値を取得したい場合は、Command メソッドを使用する必要があります。
まず、戻り値には2種類あります。 1 つは、C や VB の関数の戻り値と同じように、ストアド プロシージャで値を直接返す方法で、もう 1 つは複数の値を返す方法で、これらの値を格納する変数名を最初に呼び出しパラメータで指定する必要があります。 。
この例では、複数のパラメータ、入力パラメータ、出力パラメータ、戻りレコード セット、および直接戻り値を処理する必要があります (十分に完成していますか?)
ストアド プロシージャは次のとおりです。
パブを利用する
行く
-- ストアド プロシージャを作成する
プロシージャ sp_PubsTest を作成する
-- 3 つのパラメーター変数を定義します。3 番目の変数は出力用に特別にマークされていることに注意してください。
@au_lname varchar (20)、
@intID int、
@intIDOut int 出力
として
SELECT @intIDOut = @intID + 1
選択 *
著者から
WHERE au_lname LIKE @au_lname + '%'
-- 値を直接返す
戻り値 @intID + 2
このストアド プロシージャを呼び出す ASP プログラムは次のとおりです。
<%@ 言語=VBScript %>
<%
ディムコマンドSP
ディマドRS
Dim adCmdSPStoredProc
ディム adParamReturnValue
薄暗い広告パラメータ入力
ディム adParamOutput
薄暗い広告整数
ディム・イヴァル
薄暗い楕円形
ディム・アドフィールド
ディム adVarChar
'これらの値は VB で事前定義された定数であり、直接呼び出すことができますが、VBScript では事前定義されていません
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParam出力 = 2
adInteger = 3
adVarChar = 200
iVal = 5
oVal = 3
'コマンドオブジェクトを作成する
set CmdSP = Server.CreateObject(ADODB.Command)
'リンクの作成
CmdSP.ActiveConnection = Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=Pubs
'コマンドオブジェクトの呼び出し名を定義します
CmdSP.CommandText = sp_PubsTest
'コマンド呼び出しタイプをストアド プロシージャに設定します (adCmdSPStoredProc = 4)
CmdSP.CommandType = adCmdSPStoredProc
'コマンドオブジェクトにパラメータを追加
'直接の戻り値を持つストアド プロシージャを定義します。デフォルト値は 4 です。
CmdSP.Parameters.Append CmdSP.CreateParameter(RETURN_VALUE, adInteger, adParamReturnValue, 4)
'文字入力パラメータを定義する
CmdSP.Parameters.Append CmdSP.CreateParameter(@au_lname, adVarChar, adParaminput, 20, M)
'整数入力パラメータを定義します
CmdSP.Parameters.Append CmdSP.CreateParameter(@intID, adInteger, adParamInput, , iVal)
'整数出力パラメータを定義します
CmdSP.Parameters.Append CmdSP.CreateParameter(@intIDOut, adInteger, adParamOutput, oVal)
'ストアド プロシージャを実行し、返されたレコードセットを取得します
adoRS = CmdSP.Execute を設定します
' 各レコードを出力します。フィールドは仮想的なものなので無視できます。
adoRS.EOF ではない間
adoRS.Fields の各 adoField について
Response.Write adoField.Name & = & adoField.Value & <br> & vbCRLF
次
応答.書き込み<br>
adoRS.MoveNext
ウェン
' 2 つの出力値を出力します:
Response.Write <p>@intIDOut = & CmdSP.Parameters(@intIDOut).Value & </p>
Response.Write <p>戻り値 = & CmdSP.Parameters(RETURN_VALUE).Value & </p>
「一般的な掃除」
adoRS = 何も設定しない
CmdSP.ActiveConnection = なしを設定します
CmdSP = 何も設定しない
%>
もう少し偏った方法もありますが、それについては後ほど説明します。
この記事は、ここにリストされていない多くの記事を参照しています。