一尘不染

将参数中的NULL传递给存储过程中的DateTime字段

sql

我有一个存储过程,可以使用提供的参数更新数据库,但是在将NULL传递给存储过程时遇到了麻烦

我需要使NULL的字段是DateTime字段

DB.Parameters.AddWithValue("@date", NULL)

这给了我错误

未声明“ NULL”。不再支持’Null’常量;使用’System.DBNull’代替

所以我尝试了

DB.Parameters.AddWithValue("@date", DBNull.Value.ToString())

但这会在1900-01-01 00:00:00.000将a传递""给字段时产生列中的值

我也试过了

DB.Parameters.AddWithValue("@date", DBNull.Value)

但是会产生这个错误

类型’System.DBNull’的值不能转换为’String’。

有人有想法吗?


阅读 130

收藏
2021-03-17

共1个答案

一尘不染

使用Add而不是尝试这样的事情AddWithValue

DB.Parameters.Add("@date", SqlDbType.DateTime).Value = DBNull.Value;
2021-03-17