SQLServer2000上でOUT変数によって戻り値を呼び出し元に返すストアドプロシージャを作成し、VBScriptから実行したいと思っていますが、OUT変数上の戻り値を取得する方法がわかりません。
ADO経由でselect文の結果をrecordsetとして取得するメソッドは用意されているようなのですが、OUT変数として取得する適当なメソッドがVBScriptには見つかりませんでした。
同じようなことを行ったことのある方がいらっしゃいましたらやり方を教えて頂けますでしょうか。
No.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
いかがでしょうか?
コメントが遅れてしまい、すみませんでした。
ご回答頂いた方法では、エラーになってしまいました。が、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
ご協力頂きありがとうございました。
また分らないことがあったらご教授いただきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) Excelのマクロで、特定のセルから順番に値を取得したい 5 2022/12/06 15:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
JSPで<SELECT>の中にDBから持っ...
-
onClickで関数呼出し後に、結果...
-
mainメソッドのthrows節で設定...
-
final修飾子を使っているのに、...
-
Labelコントロールに数字を代入...
-
Refreshメソッドの使い方
-
DataGridViewでセルクリックイ...
-
コマンドプロンプト実行後に画...
-
エクセルVBAにおけるON TIMEメ...
-
プログラミング Java
-
worksheets & rows メソッドは...
-
クエリ文字列の"?"の後を非表示...
-
JAVA コンパイル時のエラー
-
C# 演算 最大値 最小値 表現の仕方
-
boolean型のフィールドとゲッタ...
-
DBを扱う上でのclose()メソッド...
-
エクセルのマクロでプリンタを...
-
VBScriptからストアドプロシー...
-
フォントサイズ(C# or VB)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
エクセルVBAにおけるON TIMEメ...
-
コマンドプロンプト実行後に画...
-
mainメソッドのthrows節で設定...
-
DataGridViewでセルクリックイ...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
onClickで関数呼出し後に、結果...
-
ExcelのxlDialogInsertPictureで。
-
Refreshメソッドの使い方
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
ウィンドウを最前面にできません
-
(String args[])というメッソ...
-
C# 演算 最大値 最小値 表現の仕方
-
Excel VBA シェイプの原型のサ...
-
VB.netで、シリアル通信のタイ...
-
Excel VBA でExcelを終了したい...
おすすめ情報