如何在为sql参数设置值时使用Conditional运算符



我有一个接受@from_date=NULL的存储过程
我有一个可变的dayCount。如果它的值是0,我必须将Null作为参数传递。Else DateTime.Tays.AddDays(dayCount).

我的代码是这样的。

int dayCount = -7;
SqlParameter[] parameters =
{    
new SqlParameter("@from_date", SqlDbType.VarChar) { Value = (dayCount==0)? null : (DateTime.Today.AddDays(dayCount)) }                        
};

我在(dayCount==0)? null : (DateTime.Today.AddDays(dayCount))中出错。

帮助

试试这个:

int dayCount = -7;
SqlParameter[] parameters =
{
       new SqlParameter("@from_date", SqlDbType.VarChar) 
       { 
            Value = dayCount == 0 ? null : (DateTime?)(DateTime.Today.AddDays(dayCount))
       }
};

DateTime不能为null(因为它是一个结构),所以必须将它强制转换为Nullable DataTime才能在条件运算符中使用它。

最新更新