首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于时间Null被转化成"0001-01-01 08:00:00"的有关问题

2012-03-01 
关于时间Null被转化成0001-01-01 08:00:00的问题数据库中Table表的Time字段为可为空的Datetime格式.当从

关于时间Null被转化成"0001-01-01 08:00:00"的问题
数据库中Table表的Time字段为可为空的Datetime格式.

当从数据库中查出该表到一个DateSet里.

空的数值全部转化为 "0001-01-01   08:00:00 "

关键的问题是,这种情况只在客户那边出现了.在公司的环境下,DateSet里的该字段仍然为 "Null ".

[解决办法]
用case when吧
Time=case when Time = ' ' then '1973-01-01 ' when Time <> ' ' then Time end
[解决办法]
0001-01-01 08:00:00?是 0001-01-01 00:00:00 吧...8点怎么出来的?

这是 DateTime.MinValue 不是 null...值类型不可为 null...只有可为空泛型类型才可以赋空值...注意 2.0 以上才支持...

如...

Nullable <DateTime> d = null;

or

DateTime? d = null;
[解决办法]
WebService会将DataSet中的值转化成为.NET的类型再发送。转化过程中,就会出现空值被转化为“最小值”(如果该类型不可为空)。你可试试看使用 "Time> "+DateTime.MinValue.ToString()来选择需要的数值。

热点排行