我有一个可以为空的DateTime变量。我想把它写到SQL DB。当我尝试插入时:
如果变量有值,则没有问题。
但如果它没有值,则插入会因错误而中断。
我想问:我们如何通过DbCommand参数将可空的DateTime插入Sql?
(P.S。:Sql列也可以为空。)
DateTime? myDate = null;
DbCommand dbCommand = new DbCommand();
dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, myDate);
答案 0 :(得分:12)
dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, (object) myDate ?? DbNull.Value);
答案 1 :(得分:0)
试试这个
if(myDate.HasValue)
dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, myDate.Value);
else
dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, DbNull.Value);