DateTime类型为空时,如何插入?
我的数据库中有一个时间字段,如果时间为空时,我想让数据库中相应字段变为NULL,当文本框中不选择时,我将其赋为 "9999-12-30 00:00:00 "
然后想让其为NULL,可是插入的值却是1900-1-1 00:00:00,应该怎么插入?
strSql.Append( "insert into t_Contract( ");
strSql.Append( "Contract_EndDate,Contract_DelFlag ");
strSql.Append( ") ");
strSql.Append( " values ( ");
if(Contract_EndDate==Convert.ToDateTime( "9999-12-30 00:00:00 "))
{
strSql.Append( " ' "+DBNull.Value+ " ', ");
}
else
{
strSql.Append( " ' "+Contract_EndDate+ " ', ");
}
strSql.Append( " 0 ");
strSql.Append( ") ");
------解决方案--------------------DateTime没有空值 默认赋值的
if(Contract_EndDate==Convert.ToDateTime( "1900-1-1 00:00:00 "))
------解决方案--------------------一定要null啊,加一个默认时间不行吗,做的什么啊,有这种要求
------解决方案--------------------也可以这样进行比较
if(Contract_EndDate==DateTime.MinValue)
------解决方案-------------------- "9999-12-30 00:00:00 "
超出日期型的范围了
"1900-1-1 00:00:00 " 是空插入的默认值
在前台显示的时候 可以将 "1900-1-1 00:00:00 " 替换为空
------解决方案--------------------你直接在数据库中把DateTime改为其他的Nchar
DateTime微软规定了不可为Null