■7500 / ) |
Re[2]: VBSでストアドの戻り値 |
□投稿者/ 酒井 (3回)-(2007/09/07(Fri) 11:11:32)
|
2007/09/07(Fri) 11:17:01 編集(投稿者)
■No7499 (魔界の仮面弁士 さん) に返信 > ■No7497 (酒井 さん) に返信
早速の返信ありがとうございます。
>>上手くいかないようです。 > 具体的にはどうなってしまうのでしょう? ⇒ストアドプロシージャ自体が実行されず、データが作成されません。クエリアナライザから単発でストアドを流す限りはデータが作成されます。
また、最後に以下の記述を追記しましたが、メッセージボックスが表示されません。 このことから、パラメータの引渡しが上手くいっていないのではないかと思っています。
'// 取得結果を表示 MsgBox cmd.Parameters("@DATE_S").Value MsgBox cmd.Parameters("@ret").Value
>>DAICHOU_EXPORTのパラメータはinが2つ、outが1つです。 > そのプロシージャの、具体的な定義を提示してください。 create procedure DAICHOU_EXPORT @v_staDate varchar(20), --開始日付 @v_endDate varchar(20), --終了日付 @iReturn int output AS ・ ・ ・ return @iReturn
>>タイトル: VBSでストアドの戻り値 > 受け取りたい値は out パラメータなのでしょうか。それとも戻り値なのでしょうか。 ⇒上記のように戻り値にもoutパラメータにも同じ値をセットしているので、どちらか取得できる方で構いません。
>>Set param = cmd.CreateParameter("@DATE_S", adVarChar, adParamInput, 20) >>Set param = cmd.CreateParameter("@DATE_E", adVarChar, adParamInput, 20) >>Set param = cmd.CreateParameter("@ret", adInteger, adParamOutput) > in/out 引数の指定はあるようですが、戻り値(adParamReturnValue) の指定が抜けているようです。 ⇒追加してみましたが、状況は変わらずです。
> もし、パラメータ定義に不安があるのなら、cmd.Parameters.Append で定義するのではなく、 > cmd.Parameters.Refresh を使って、サーバ側にパラメータ定義を問い合わせるのも手です。 > (ただし Refresh すると、Append で自己管理するよりも実行コスト面で若干不利になります) > > > それと一応念のため、out パラメータにも任意の初期値を入れておいた方が良いかも。 ⇒cmd.Parameters.Refreshについて、ちょっと調べてみます。
|
|