给Datetime怎么赋空值?

qq_15138271 2015-05-21 05:51:52
各位大侠好,数据库中是Datetime类型的字段,在前台显示的时候,怎么才能显示成空(不显示日期),即给Datetime怎么赋空值?
...全文
22339 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
道玄希言 2015-05-25
  • 打赏
  • 举报
回复
取巧点嘛 将离职时间的默认值设为日期最小值,比如 '1900-01-01 00:00:00' 在查询语句中判断下 SELECT CASE dt WHEN '1900-01-01 00:00:00' THEN NULL ELSE dt END AS dt FROM tbl 这个时候,如果是默认值 1900-01-01 00:00:00 不就为空了。 不过, 加载到 datagridview 里面来, 能不能加载 null 值, 我没试过。。。
smthgdin_020 2015-05-25
  • 打赏
  • 举报
回复
可以是可空类型,不过取值转换要注意。
wcj_me 2015-05-25
  • 打赏
  • 举报
回复
引用 13 楼 qq_15138271 的回复:
DateTime 类型的字段,现在就是不想在前台显示的时候出现日期。。。
后台查询语句,不要将日期列包含进去不就可以了么?
紫系流月 2015-05-23
  • 打赏
  • 举报
回复
加个?号,百度一个可空类型
SinGooCMS 2015-05-23
  • 打赏
  • 举报
回复
你可以约定一值,表示空值。比如1900-01-01. 我就是这样做的!
於黾 2015-05-22
  • 打赏
  • 举报
回复
引用 13 楼 qq_15138271 的回复:
DateTime 类型的字段,现在就是不想在前台显示的时候出现日期。。。
直接把那2列隐藏掉不就得了
qq_15138271 2015-05-22
  • 打赏
  • 举报
回复
qq_15138271 2015-05-22
  • 打赏
  • 举报
回复
DateTime 类型的字段,现在就是不想在前台显示的时候出现日期。。。
猴头 2015-05-22
  • 打赏
  • 举报
回复
Datetime 是值类型的,不能直接赋值null
SmileSkyNet 2015-05-22
  • 打赏
  • 举报
回复
引用 13 楼 qq_15138271 的回复:
DateTime 类型的字段,现在就是不想在前台显示的时候出现日期。。。
从你这里来看你开始提问都不对,你只是想让DateTime不要在前台显示,那么应该在前台软件中去实现,因为你只是前台不显示那么数据库应该还是有真实数据的,如果按你说把数据库中也改成空那就没有意义了,所以你提问有问题,根据你的说法就是要在前台不显示时间,这个有很多思路,比如把DataTime控件换成Label控件,然后在Label中显示替换的字符比如####年##月##日
於黾 2015-05-22
  • 打赏
  • 举报
回复
而且如果你真的把它的值赋值成null ToString()的时候一定会出错的 不要这么干
於黾 2015-05-22
  • 打赏
  • 举报
回复
前台只能显示字符串,你只要考虑时间转字符串的时候怎么赋值成空字符串就行了 DateTime是值类型,跟int一样 如果你想一个数字如果是0就显示成空,应该怎么做? DateTime是一样的思路 跟它本身的值是不是null没有一毛钱关系
qxyywy 2015-05-22
  • 打赏
  • 举报
回复
可空类型就可以了 不用那么麻烦 DateTime? time=null;
Delta 2015-05-22
  • 打赏
  • 举报
回复
学习了一下。。。。
qq_15138271 2015-05-22
  • 打赏
  • 举报
回复
public static DateTime ToDateTime(object obj) { DateTime dtResult = DateTime.Now; if (obj == null || obj.ToString().Trim().Equals("")) return dtResult; DateTime.TryParse(obj.ToString(), out dtResult); return dtResult; } public static DateTime? ToDateTimeNull(object obj) { if (obj == null || obj.ToString().Trim().Equals("")) return null; DateTime dtResult = DateTime.Now; DateTime.TryParse(obj.ToString(), out dtResult); return dtResult; } 谢谢各位!
hellsing 2015-05-21
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
显示时做下判断,比如小于1900年1月1日就显示空
这个是正确的
skyandcode 2015-05-21
  • 打赏
  • 举报
回复
首先你要知道 DateTime 并不是一个类,它只是一个结构体,是一个值类型。 值类型要赋为空,可以使用: DateTime? time = null; 写法。
wind_cloud2011 2015-05-21
  • 打赏
  • 举报
回复
好像DateTime类型不能赋值Null,可以对数据库的判断,如果是DBNull.Value,你可给DateTime一个初始值 什么的
  • 打赏
  • 举报
回复
显示时做下判断,比如小于1900年1月1日就显示空
qq_15138271 2015-05-21
  • 打赏
  • 举报
回复
我想把 DateTime? dateTime = null; 赋值给 DateTime dateTime; 怎么转换?
加载更多回复(4)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧