我从Visual Studio项目调用存储过程并传递DateTime参数。如何将DateTime对象设置为null并将其作为参数发送给存储过程?
下面是C#代码:
DateTime? dtStartFrom = null;
var result = _context.Database.SqlQuery<DamageEventsDTL>("SPDamageEventsDTL @dtStartFrom", new SqlParameter("dtStartFrom", dtStartFrom)).ToList();
在这里,在存储过程中如何变量定义:
@dtStartFrom date
该行我得到这个异常:
The parameterized query '(@dtStartFrom nvarchar(4000))SPDamageEventsDTL @dtStartFrom' expects the parameter '@dtStartFrom', which was not supplied.
所以我想有是空值的问题,所以我尝试这种方式:
DateTime? dtStartFrom = DBNull.Value;
但在行上方我得到这个错误:
Cannot implicitly convert type 'System.DBNull' to 'System.DateTime?'
任何想法,我怎么可以设置DateTime对象为null,并将其作为参数来我的存储过程?
你试过命名的SqlParameter @dtStartFrom而不只是dtStartFrom? –