我有数据类型LastCheck
的SQL Server数据库条目DateTime
。
首先保存它没有值,所以它是NULL
。 LastCheck
配置为允许空值。
我应该在声明中插入什么?如何在代码中初始化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));
答案 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;