I have a datetime
datatype : dttm
Also the database field type is datatime
Now I am doing this:
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
// It should insert null value into database
// through cmd.Parameters.AddWithValue("@dtb", _____)
}
How can this be done.
Use DBNull.Value
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
cmd.Parameters.AddWithValue("@dtb", DBNull.Value)
}
This can be done using the null-coalescing operator: if the value of dttm is null the DBNull.Value will be inserted otherwise the value of dttm will be used
cmd.Parameters.AddWithValue("@dtb", dttm ?? (object) DBNull.Value);
This will eliminate the need for the if statment
if your field allows null value;
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
cmd.Parameters.AddWithValue("@dtb", DBNull.Value)
}
来源:https://stackoverflow.com/questions/16717179/how-to-insert-null-value-in-database-through-parameterized-query