通常、ADO.NETでパラメーターを作成するときに列サイズを設定します
しかし、列がVARCHAR(MAX)
の場合、どのサイズを使用しますか?
cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
この場合、-1を使用します。
Michal Chaniewskiによる-1を参照しなかった私たちにとって、完全なコード行:
cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
SqlDbType.VarCharの最大サイズは2147483647です。
Sqlの代わりに一般的なoledb接続を使用する場合、 here LongVarCharデータ型もあります。最大サイズは2147483647です。
cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
サイズパラメータを渡す必要はありません。宣言するのは、Varchar
が既にMAXであることを理解していることです。
cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";