次のコード行があります。
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID;
しかし、私はの使用について少し混乱していますsize
。これは、サイズが 4 バイトということですか? または、長さ 41234
は許容範囲ですが、12345
大きすぎますか?
次のコード行があります。
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID;
しかし、私はの使用について少し混乱していますsize
。これは、サイズが 4 バイトということですか? または、長さ 41234
は許容範囲ですが、12345
大きすぎますか?
サイズが固定されているタイプの場合は、この引数を省略してください。単純に次のようにします。
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;
varchar
size 引数は、nvarchar
などの可変サイズを持つことができる型のパラメーターにのみ関連します。
int のサイズは 4 バイトです。
詳細については、msd n の DbParameter クラスを参照してください。SqlCeParameter
実装するので関連性がありますDbParameter
次のセクションが該当します。
Size プロパティは、バイナリ型と文字列型に使用されます。
文字列以外のデータ型と ANSI 文字列データの場合、Size プロパティはバイト数を参照します。Unicode 文字列データの場合、Size は文字数を表します。文字列のカウントには、終了文字は含まれません。
可変長データ型の場合、Size はサーバーに送信するデータの最大量を表します。たとえば、Unicode 文字列値の場合、Size を使用して、サーバーに送信されるデータの量を最初の 100 文字に制限できます。
Size プロパティの実装については、このhttps://gist.github.com/1932766を参照してください。
4 バイト、32 ビットです。これは 32 ビット整数です。
int を使用する場合は、サイズに関係なく問題ないと思います。
だからあなたのコードは
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;
varchar、navarchar の場合、サイズが maater の場合、.net コード、つまりパラメーターでサイズを指定する必要があります