我有以下代码行:
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID;
但是,我对size
的使用感到有些困惑。这是说它的4个字节大小?或者长度为4,1234
是可以接受的,但12345
太大了?
答案 0 :(得分:27)
对于具有修正大小的类型,您应该省略此参数,只需:
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;
size参数仅与类型可能具有varchar
,nvarchar
等可变大小的参数相关。
答案 1 :(得分:6)
int的大小为4个字节。
有关详细信息,请参阅DbParameter class on msd n。这是相关的,因为SqlCeParameter
实现了DbParameter
以下部分是相关的:
Size属性用于二进制和字符串类型。
对于非字符串数据类型和ANSI字符串数据,请使用Size属性 指的是字节数。对于Unicode字符串数据,Size指的是 字符数。字符串的计数不包括 终止性格。
对于可变长度数据类型,Size描述最大数量 要传输到服务器的数据。例如,对于Unicode字符串 value,Size可用于限制发送到的数据量 服务器到前一百个字符。
有关Size属性的实现,请参阅此https://gist.github.com/1932766。
答案 2 :(得分:2)
这是4个字节,32位。它是一个32位整数。
答案 3 :(得分:2)
如果你要使用int而不是我认为无论它的大小是多少。
所以你的代码将是
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;
on for varchar,navarchar其中大小为maater你需要在你的.net代码中表示大小,即参数