1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

メモ SQLserverのVarchar型のOutputパラメータの文字数について

Posted at

ストアドのOutputパラメータの文字数について

ストアドでVarchar型でOutputのパラメータを受け取ろうとしていましたが、
桁数の指定が漏れていたため1桁しか返してこなかった話。

試そうとしたコードは、以下になります。

Dim conn As SqlClient.SqlConnection
Dim comm As New SqlClient.SqlCommand
comm.Connection = conn
Dim sSQL As String = "ストアド"
comm.CommandText = sSQL
comm.CommandType = CommandType.StoredProcedure
comm.Parameters.Clear()
comm.Parameters.Add("@Input変数", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
comm.Parameters.Add("@Output変数", SqlDbType.Varchar).Direction = ParameterDirection.Output

10桁ある文字数の1桁目しか返していないことから
色々調べたところ桁数の指定が必要だとのことでした。

桁数を指定して受け取ろう

以下のコードに修正しました。

comm.Parameters.Add("@Output変数", SqlDbType.Varchar, 10).Direction = ParameterDirection.Output

10という桁数を指定することで正しい文字列が返ってきました。

※参考
VB2005 + SQL ストアドでのパラメーター受け渡し

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?