SqlCommand参数大小混乱

Nei*_*ght 18 c# sqlparameter

我有以下代码行:

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int, 4).Value = linkID;
Run Code Online (Sandbox Code Playgroud)

但是,我对使用它有点困惑size.这是说它的4个字节大小?或者4的长度1234是可以接受但是12345太大了?

Bro*_*ass 27

对于具有修复大小的类型,您应该省略此参数,只需:

sqlcommand.Parameters.Add("@LinkID", SqlDbType.Int).Value = linkID;
Run Code Online (Sandbox Code Playgroud)

size参数仅与具有可变大小的类型的参数相关varchar,nvarchar等等.


Fil*_*Vos 6

int的大小为4个字节.

有关详细信息,请参阅msd n 上的DbParameter类.它是相关的,因为SqlCeParameter实现DbParameter

以下部分是相关的:

Size属性用于二进制和字符串类型.

对于非字符串数据类型和ANSI字符串数据,Size属性指的是字节数.对于Unicode字符串数据,Size指的是字符数.字符串的计数不包括终止字符.

对于可变长度数据类型,Size描述要传输到服务器的最大数据量.例如,对于Unicode字符串值,可以使用Size将发送到服务器的数据量限制为前100个字符.

有关Size属性的实现,请参阅此https://gist.github.com/1932766.