SqlParameter中size对于需要指定大小的数据库中的数据类型参数有影响【如nvarchar】,如果对于这些类型没有指定size则会默认根据赋的值进行推导应该指定的size,而对于那些大小固定的数据类型类型没有影响【如 int】
SqlParameter para=new SqlParameter("@name",SqlDbType.Int,3);
监测结果如下:
nvarchar会根据需要截取长度,如我输入的参数值为aaaaaaaaaaaaa
SqlParameter para=new SqlParameter("@name",SqlDbType.NVarChar,1);
监测结果如下:
SqlParameter para=new SqlParameter("@name",SqlDbType.NVarChar,3);
监测结果如下:
SqlParameter para=new SqlParameter("@name",SqlDbType.NVarChar);
监测结果如下:
还有一个说法:
根据MSDN解释:如果未在size参数中显式设置Size,则从dbType参数的值推断出该大小。
所以:实例化SqlParameter时,如果是字符型,一定要指定size属性。