23

次のコード行があります。

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID;

しかし、私はの使用について少し混乱していますsize。これは、サイズが 4 バイトということですか? または、長さ 41234は許容範囲ですが、12345大きすぎますか?

4

4 に答える 4

31

サイズが固定されているタイプの場合は、この引数を省略してください。単純に次のようにします。

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;

varcharsize 引数は、nvarcharなどの可変サイズを持つことができる型のパラメーターにのみ関連します。

于 2012-02-28T14:05:11.753 に答える
8

int のサイズは 4 バイトです。

詳細については、msd n の DbParameter クラスを参照してください。SqlCeParameter実装するので関連性がありますDbParameter

次のセクションが該当します。

Size プロパティは、バイナリ型と文字列型に使用されます。

文字列以外のデータ型と ANSI 文字列データの場合、Size プロパティはバイト数を参照します。Unicode 文字列データの場合、Size は文字数を表します。文字列のカウントには、終了文字は含まれません。

可変長データ型の場合、Size はサーバーに送信するデータの最大量を表します。たとえば、Unicode 文字列値の場合、Size を使用して、サーバーに送信されるデータの量を最初の 100 文字に制限できます。

Size プロパティの実装については、このhttps://gist.github.com/1932766を参照してください。

于 2012-02-28T14:04:44.470 に答える
2

4 バイト、32 ビットです。これは 32 ビット整数です。

于 2012-02-28T14:05:27.747 に答える
2

int を使用する場合は、サイズに関係なく問題ないと思います。

だからあなたのコードは

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID; 

varchar、navarchar の場合、サイズが maater の場合、.net コード、つまりパラメーターでサイズを指定する必要があります

于 2012-02-28T14:05:34.160 に答える