■7526 / ) |
Re[7]: VBSでストアドの戻り値 |
□投稿者/ 酒井 (7回)-(2007/09/07(Fri) 14:13:22)
|
2007/09/07(Fri) 14:14:33 編集(投稿者) 2007/09/07(Fri) 14:13:41 編集(投稿者) ■No7518 (Mr.T さん) に返信 >>2007/09/07(Fri) 13:53:37 編集(投稿者) >> >>Mr.Tです、こんにちは。 >> >>>>Cmd.CommandType = adCmdStoredProcの部分でエラーコード500が出ていることがわかりました。 >>>>現在、これが何ものかを調査中です。 > >>⇒エラーコード500の内容は"この変数は宣言されていません"の内容のエラーでした。 > >>Cmd.ActiveConnection = objConn、Cmd.CommandText = Sqlではこのエラーはでていないようなのですが、Cmd.CommandType = adCmdStoredProcの部分のみ、このエラーがでてしまいます。 >> >>おや、 >>「adCmdStoredProc」 >>ここではないですか? >> >>CommandTypeの値は、CommandTypeEnumなので、その実体は数値です。 >>VBなんかだと参照設定しているのでそのまま使えるのですが、VBSでは参照設定できないので、自前で設定する必要があります。 >> >>Const adCmdStoredProc = 4 >> > > そのとおりですね。ありがとうございました。 > > ちなみに以下のロジックでうまくいきました。 > 'コマンドオブジェクト > Set Cmd = CreateObject("ADODB.Command") > Sql = "DAICHOU_EXPORT" > Cmd.ActiveConnection = objConn > Cmd.CommandType = 4 > Cmd.CommandText = Sql > > 'パラメータオブジェクト > Set Param = CreateObject("ADODB.Parameter") > '数値型は3、戻り値は4 > Set param = Cmd.CreateParameter("@return", 3, 4) > Cmd.Parameters.Append param > > '文字型は200、IN変数は1 > Set param = Cmd.CreateParameter("@DATE_S", 200, 1, 20) > Cmd.Parameters.Append param > Cmd.Parameters("@DATE_S") =DATE_S > MsgBox Cmd.Parameters("@DATE_S").VALUE > > '文字型は200、IN変数は1 > Set param = Cmd.CreateParameter("@DATE_E", 200, 1, 20) > Cmd.Parameters.Append param > Cmd.Parameters("@DATE_E") =DATE_E > > '数値側は3、OUT変数は2 > Set param = Cmd.CreateParameter("@ret",3, 2) > Cmd.Parameters.Append param > Cmd.Parameters("@ret") = 0 > > '//ストアドプロシージャ実行 > Cmd.Execute > '// 取得結果を表示 > MsgBox Cmd.Parameters("@ret").Value > MsgBox Cmd.Parameters("@return").Value
|
解決済み
|