- - PR -
sqlserverのストアドの返り値について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-10 13:20
お世話になります。
環境:WinXP SqlServer2000 VB2005 VBからストアドを実行して、ストアドの返り値をVB側に返す とゆうことを行いたいのですが、返り値として文字列が1バイトしか 返却されません。 クエリアナライザからストアドを実行すると、 出力パラメータ: @outSTATUS = 1 @outMSG = Eデータ作成失敗 と、結果が表示されるので、きちんと出力されているようです。 VB側は、 Dim comPRCMX600001 As New SqlCommand("PRCMX600001", conn, tran) Dim prmOutStatus As SqlParameter = New SqlParameter("@outSTATUS", SqlDbType.TinyInt) Dim prmOutMsg As SqlParameter = New SqlParameter("@outMSG", SqlDbType.VarChar) prmOutStatus.Direction = ParameterDirection.Output prmOutStatus.Value = 0 comPRCMX600001.Parameters.Add(prmOutStatus) prmOutMsg.Direction = ParameterDirection.Output prmOutMsg.Value = "テストです" comPRCMX600001.Parameters.Add(prmOutMsg) comPRCMX600001.ExecuteNonQuery() ''エラー処理 MsgBox("リターンコード = " & prmOutStatus.Value & " : 処理失敗" & prmOutMsg.Value, MsgBoxStyle.Critical) ストアドが返している「Eデータ作成失敗」の最初の1バイトの「E」しか VB側で受け取りません。 解決策をご存知の方いらしたら、ご教授お願いいたします。 |
|
投稿日時: 2007-10-11 01:57
prmOutMsg.Value = "テストです"
の付近で prmOutMsg.Size = 255 とかしたらうまくいきませんかね。 |
|
投稿日時: 2007-10-15 17:24
べるさんから教えて頂いた方法で解決しました。
お返事ありがとうございました。 |
1