我有以下代码行:
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;
size 参数仅与具有可变大小的类型的参数相关,例如varchar
等nvarchar
。
int 的大小为 4 个字节。
有关详细信息,请参阅msd n 上的 DbParameter 类。这是相关的,因为SqlCeParameter
实现DbParameter
以下部分是相关的:
Size 属性用于二进制和字符串类型。
对于非字符串数据类型和 ANSI 字符串数据,Size 属性是指字节数。对于 Unicode 字符串数据,Size 是指字符数。字符串的计数不包括终止字符。
对于可变长度数据类型,Size 描述要传输到服务器的最大数据量。例如,对于 Unicode 字符串值,Size 可用于将发送到服务器的数据量限制为前一百个字符。
有关Size 属性的实现,请参阅此https://gist.github.com/1932766 。
它是 4 个字节,32 位。它是一个 32 位整数。
如果您要使用 int,那么我认为无论它的大小如何。
所以你的代码将是
sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;
on for varchar,navarchar 其中大小是maater,您需要在.net代码中指定大小,即在参数中