C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 19 を表示中)
■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
解決済み
返信 編集キー/


管理者用

- Child Tree -