关于c#程序中的datetime字段 传递空值问题
在CS代码中传入值操作:
Nullable<DateTime> instoragedate = null;
if (!string.IsNullOrEmpty(instorage))
instoragedate = Convert.ToDateTime(instorage);
在SQL查询时操作: case when convert( varchar(12) ,InStorageDate,111)='1900/01/01' then '' else convert( varchar(12) ,InStorageDate,111) end as InStorageDate
总结:在前台传值的时候有两种选择:传入 null ,或者传入 dbnull.value
其中如果传入Null值 则在数据库中自动为1900/01/01等,那么取值的时候要做操作,优点是CS代码的时候方便操作
传入DBNULL.VALUE,则在SQL中保存为空,优点是数据库SQL查询的时候方便操作