我有一个存储过程,但我有传递NULL存储过程传递一个空的DateTime字段中存储过程
领域麻烦使用我公司供应的参数,更新数据库我需要NULL是一个DateTime字段
DB.Parameters.AddWithValue("@date", NULL)
这给我的错误
'NULL' 未声明。 '空'常数不再被支持;使用“System.DBNull”,而不是
所以,我想
DB.Parameters.AddWithValue("@date", DBNull.Value.ToString())
但是这将产生值1900-01-01 00:00:00.000
在列,因为它是传递一个""
到外地
我也试过
DB.Parameters.AddWithValue("@date", DBNull.Value)
但它产生这个错误
类型'System.DBNull'的值不能转换为'String'。
有没有人有任何想法?
如果完全省略参数会发生什么? – 2011-03-03 14:33:03
@米克,那也失败了。我想看看他的sp期望的是什么 – hunter 2011-03-03 14:35:57
小心使用'.AddWithValue'调用 - 在这种情况下.NET如何知道您的参数应该是什么**类型**如果您传入'DBNull.Value '?见卢克的答案 - **具体**,你会为自己节省很多的伤心! (并且真的很难找到错误!) – 2011-03-03 15:29:03