datetime
データ型があります:dttm
また、データベースフィールドタイプはdatatime
です。
今私はこれをやっています:
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
// It should insert null value into database
// through cmd.Parameters.AddWithValue("@dtb", _____)
}
これはどのように行うことができますか。
使用する DBNull.Value
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
cmd.Parameters.AddWithValue("@dtb", DBNull.Value)
}
これは、null合体演算子を使用して実行できます。dttmの値がnullの場合、DBNull.Valueが挿入されます。それ以外の場合は、dttmの値が使用されます。
cmd.Parameters.AddWithValue("@dtb", dttm ?? (object) DBNull.Value);
これにより、ifステートメントが不要になります
フィールドでnull値が許可されている場合。
if (dttm.HasValue)
{
cmd.Parameters.AddWithValue("@dtb", dttm);
}
else
{
cmd.Parameters.AddWithValue("@dtb", DBNull.Value)
}