如何将可为空的DateTime变量's的空值转换为DbNull.Value

本文关键字:Value 空值 转换 DbNull 变量 DateTime | 更新日期: 2023-09-27 18:19:06

我有一个可空的DateTime变量。我想把它写进SQL数据库。当我尝试插入:

如果变量有值,则没有问题。

但如果没有值,插入会中断并出现错误。

我想问:我们如何通过DbCommand参数插入可空的DateTime到Sql ?

(注:

: Sql列也可为空)

DateTime? myDate = null;
DbCommand dbCommand = new DbCommand();
dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, myDate);

如何将可为空的DateTime变量's的空值转换为DbNull.Value

尝试null合并运算符:

dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, (object) myDate ?? DbNull.Value);

try this

if(myDate.HasValue)
  dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, myDate.Value);
else
  dbCommand.Parameters.Add("NullableSqlDateField", DbType.DateTime, DbNull.Value);