如果没有数据(为空),应该保存什么(在SQL Server数据库中)?

时间:2011-03-16 15:08:00

标签: c# sql-server asp.net-mvc

我有数据类型LastCheck的SQL Server数据库条目DateTime

首先保存它没有值,所以它是NULLLastCheck配置为允许空值。

我应该在声明中插入什么?如何在代码中初始化LastCheck?我应该将DateTime转换为null吗?我不能只做LastCheck = null,因为它来自DateTime值。

Job job = new Job();
job.LastCheck = null;

cmd.CommandText = "INSERT INTO Jobs (LastCheck)"
                  + " VALUES (@LastCheck)";

cmd.Parameters.Add(new SqlParameter("@LastCheck", job.LastCheck));

2 个答案:

答案 0 :(得分:6)

您应该使用DbNull.Value插入null:

cmd.Parameters
   .Add(new SqlParameter("@LastCheck", job.LastCheck ?? DbNull.Value));

答案 1 :(得分:0)

DBNull.Value是您的正确答案 - 我还建议指定其类型!

cmd.Parameters.Add(new SqlParameter("@LastCheck", SqlDbType.DateTime));
cmd.Parameters["@LastCheck"].Value = DBNull.Value;