为什么
scIns.Parameters.Add(new SqlParameter("@v30", 0.00m));
导致“ @ v30未定义”错误,但是
decimal dZero = 0.00m;
scIns.Parameters.Add(new SqlParameter("@v30", dZero));
可以吗?
最佳答案
SqlParamter具有两个参数,两个不同的重载,第一个是字符串,第二个是SqlDbType或对象。
在第一种情况下,当传入0.00m时,它将转换为Int64;在第二种情况下,由于传入的值为十进制类型,因此它使用SqlDbType.Decimal。
看看这个Link
更新:
找到了另一个stackoverflow问题,对此进行了讨论,并提供了详细的答案。 :)
关于c# - 无法识别SqlCommand参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6540422/