- - PR -
VB6.0 から T-SQL の「引数ありのストアド」を実行するコーディング
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-12-11 19:41
どなたか教えてください。
VB6.0にて、下記の様にしてストアドを実行しています。 このストアド"test_procedure" に引数が無ければ良いのですが、引数があった場合、このままのコーディング"test_procedure" では「引数が必要」といったエラーになります。 ストアドは、「CREATE PROCEDURE test_procedure(@処理区分 char(1))」で作成しています。 例えば、"test_procedure 5"、または"test_procedure '5'" とすると「構文エラー」となります。 引数がある場合、どういうコーディングをすれば良いのでしょうか? よろしくお願いいたします。 Dim objCommand As ADODB.Command Dim Ret As Boolan With objCommand .CommandText = "test_procedure" '<< 引数があった時の書き方は? .CommandType = adCmdStoredProc .Parameters.Append objCommand.CreateParameter("RetVal", adInteger, adParamReturnValue) .Execute If .Parameters("RetVal").Value = 9 Then Ret = True Else Ret = False End If End With | ||||
|
投稿日時: 2006-12-11 20:24
Parameters に設定されてさえいれば、不要のハズですが... Parameters の中身はどうなっているか、デバッグしてみてください。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-12-12 08:52
じゃんぬねっと さんありがとうございます。
再度調査し直してみます。 | ||||
|
投稿日時: 2006-12-12 22:49
adParamReturnValueは、プロシジャの復帰値を受け取るparameterですから
これだけだと、@処理区分の分が足りないのでは。 .Parameters.Append objCommand.CreateParameter("処理区分", adChar, adParamOutput,1) みたいな感じ。 | ||||
|
投稿日時: 2006-12-13 09:33
zzzing さんありがとうございます。
ご指摘の通り付け加えて、うまくいったことを確認しました。 助かりました。ありがとうございました。 |
1