我有一个datetime
数据类型:dttm
此外,数据库字段类型为datatime
现在我这样做:
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
// It should insert null value into database
// through cmd.Parameters.AddWithValue("@dtb", _____)
}
如何做到这一点。
答案 0 :(得分:33)
这可以使用null-coalescing运算符来完成:如果dttm的值为null,则将插入DBNull.Value,否则将使用dttm的值
cmd.Parameters.AddWithValue("@dtb", dttm ?? (object) DBNull.Value);
这将消除对if语句
的需要答案 1 :(得分:18)
使用DBNull.Value
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
cmd.Parameters.AddWithValue("@dtb", DBNull.Value)
}
答案 2 :(得分:3)
如果您的字段允许空值;
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
cmd.Parameters.AddWithValue("@dtb", DBNull.Value)
}