アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLServer2000上でOUT変数によって戻り値を呼び出し元に返すストアドプロシージャを作成し、VBScriptから実行したいと思っていますが、OUT変数上の戻り値を取得する方法がわかりません。

ADO経由でselect文の結果をrecordsetとして取得するメソッドは用意されているようなのですが、OUT変数として取得する適当なメソッドがVBScriptには見つかりませんでした。

同じようなことを行ったことのある方がいらっしゃいましたらやり方を教えて頂けますでしょうか。

A 回答 (1件)

実行環境が無いため未確認ではあるのですが、以下の方法でできないかやってみてください。



Dim objConnect
Dim objCommand

set objConnect=CreateObject("ADODB.Connection")
set objCommand=CreateObject("ADODB.Command")

'※接続です。接続するDB環境に合わせてください。
objConnect.Open "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=pubs;", "sa", ""

'※使用するコネクションを指定
objCommand.ActiveConnection = objConnect

'※testプロシージャを実行します。(引数が1つ)
objCommand.CommandText = "test ?"
objCommand.Execute

'※1つめの引数の値をひろう
Msgbox objCommand.Parameters(0).Value

いかがでしょうか?
    • good
    • 0
この回答へのお礼

コメントが遅れてしまい、すみませんでした。
ご回答頂いた方法では、エラーになってしまいました。が、CreateParameterを使用して明示的にOUTパラメータであることを指定することで、実現することができました。

set objCommand = CreateObject("ADODB.Command")
With objCommand
.ActiveConnection = objConnection
.CommandText = "プロシージャ名"
.CommandType = adCmdStoredProc

' ストアドプロシージャにOUT変数パラメータを設定
.Parameters.Append .CreateParameter("@outparameter",adInteger,adParamOutput)
.Execute ln, , adExecuteNoRecords

' プロシージャからの戻り値を変数に格納
outParameter = .Parameters("@outparameter").Value
End With

ご協力頂きありがとうございました。
また分らないことがあったらご教授いただきたいと思います。

お礼日時:2005/12/03 17:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!