sql server 数据类型以及SqlParameter赋值时遇到的问题
时间:2011-01-12 来源:philzhou
需要注意的是
当表中有一字段@MOStatus为tinyint时,而且同时有一个MOQueue_Create的插入记录的存储过程。
如果在调用存储过程的时候这样写
command.Parameters.Add(new SqlParameter("@MOStatus", 0));
就会抛出异常,过程或函数 'MOQueue_Create' 需要参数 '@MOStatus',但未提供该参数。
而实际上你已经提供了该参数,Debug进来发现command.Parameters["@MOStatus"].Value的值为Null,
原来是因为给该参数的赋值未成功。
但是如果你这样写
SqlParameter mo = new SqlParameter("@MOStatus", SqlDbType.TinyInt);
mo.Value = 0;
command.Parameters.Add(mo);
则不会有问题。
同时smallint同样有此问题。
相关阅读 更多 +