有关SqlParameter的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 11:06:21
比如:new SqlParameter("@ApartmentName", SqlDbType.NVarChar, 50);
如果存储过程参数的类型是DateTime或者Decimal的话后面的参数size应该设置为多少,比如Decimal在数据表里是(9,2)
一定要设置size的话在数据表里没有设置字段范围的都给0行不行?

size是启一个限制作用的,与数据库保持一致是为了让程序更加严谨。
至于十进制整形,DATATIME可以不用SIZE也是可以的。
new SqlParameter("@DateTime", SqlDbType.DateTime);
但是字符型的最好带上,可以防止一些不必要的麻烦。

Size可以不管的。

这个根据你的需要来,不一定是一样的

size的长度是和数据库字段长度有关系的,他的长度不能超过数据库字段长度,否则会容易数据溢出。。。

那就不写啊

size 可以不用给,
SqlParameter 有类似这样的构造函数:
public SqlParameter(string paramName,object value);
所以,当你不清楚的时候完全可以只给定参数名称和具体值.
for example:
decimal price = 45.33m;
cmd.Parameters.Add(new SqlParameter("@price",price));