web-dev-qa-db-ja.com

パラメーター宣言でvarchar(MAX)に使用するサイズは何ですか?

通常、ADO.NETでパラメーターを作成するときに列サイズを設定します

しかし、列がVARCHAR(MAX)の場合、どのサイズを使用しますか?

cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;
176
mrblah

この場合、-1を使用します。

270

Michal Chaniewskiによる-1を参照しなかった私たちにとって、完全なコード行:

cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text";
47
Sam Meshesha

SqlDbType.VarCharの最大サイズは2147483647です。

Sqlの代わりに一般的なoledb接続を使用する場合、 here LongVarCharデータ型もあります。最大サイズは2147483647です。

cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string";
3
Eric Draven

サイズパラメータを渡す必要はありません。宣言するのは、Varcharが既にMAXであることを理解していることです。

cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";
2
Igor Macedo