Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9699

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

$
0
0

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

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

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

DimconnAsSqlClient.SqlConnectionDimcommAsNewSqlClient.SqlCommandcomm.Connection=connDimsSQLAsString="ストアド"comm.CommandText=sSQLcomm.CommandType=CommandType.StoredProcedurecomm.Parameters.Clear()comm.Parameters.Add("@Input変数",SqlDbType.Int).Direction=ParameterDirection.ReturnValuecomm.Parameters.Add("@Output変数",SqlDbType.Varchar).Direction=ParameterDirection.Output

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

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

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

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

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

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


Viewing all articles
Browse latest Browse all 9699

Trending Articles