• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

将textbox空值如何转化为datetime格式

ggwowo 2012-05-10 09:44:12
RT:
现在的情况是,有一 textbox文本框 ,将此值插入到数据库中但对应的字段是datetime类型
如果文本框填写具体日期的话 直接插入数据库里去,
如果什么都不写(即为空),也将此空值插入到数据库里
我是这样写的:
 if (txtCancelTime.Text.ToString ().Equals (""))
{
string txtCancelTimeStr = "Null";
jcpf.OprtEndDay = Convert.ToDateTime(txtCancelTimeStr);


}
else
{
jcpf.OprtEndDay = Convert.ToDateTime(txtCancelTime.Text.Trim());

}


但提示else里面,格式错误 ~~
...全文
295 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ggwowo 2012-06-05
嗯 你的这个方法 应该可行 我有时间试试。。[Quote=引用 5 楼 的回复:]
引用 3 楼 的回复:

用 IsNullOrEmpty 判断


+1 用string.IsNullOrEmpty 来判断是否为空最为合理

同时如果LZ希望明确 付NULL给DATETIME的话建议你将

jcpf.OprtEndDay 的DATETIME类型 变为 DATETIME? (加个问号) 这样就可以直接付NULL了,数据库存储的时候也会是NULL
[/Quote]
回复
如果不赋值,你DB中OprtEndDay字段不是必须录入,那么默认插入为空
[Quote=引用 1 楼 的回复:]

如果是空就不用赋值,什么都不用写
if (txtCancelTime.Text!="" && txtCancelTime.Text!=null)
{
//这里写赋值;
}
[/Quote]
回复
king_836456942 2012-05-10
你要对txtCancelTimeStr 进行判断,最后转换成日期型的也要想如下的方式转,才不会提示错误。当然,前提你还是需要对其内容判断,不仅全部要为数字,且必须满足合法的日期型


string s = this.textBox1.Text.Trim();
DateTime dt = Convert.ToDateTime(s.Substring(0,4)+"-"+s.Substring(4,2)+"-"+s.Substring(6,2));
回复
nikolay 2012-05-10
[Quote=引用 3 楼 的回复:]

用 IsNullOrEmpty 判断
[/Quote]

+1 用string.IsNullOrEmpty 来判断是否为空最为合理

同时如果LZ希望明确 付NULL给DATETIME的话建议你将

jcpf.OprtEndDay 的DATETIME类型 变为 DATETIME? (加个问号) 这样就可以直接付NULL了,数据库存储的时候也会是NULL


回复
txtCancelTime.Text 这里最好用个time 控件 要不加个验证 不然输入汉字怎么办呢
回复
bdmh 2012-05-10
用 IsNullOrEmpty 判断
回复
Hatake 2012-05-10

if (string.IsNullOrEmpty(txtCancelTime.Text.Trim()))
{
//txtCancelTime为null或者空
}
else
{
//有值
}


txtCancelTime.Text可能为空字符串,或者null...
回复
mbtw_1984 2012-05-10
如果是空就不用赋值,什么都不用写
if (txtCancelTime.Text!="" && txtCancelTime.Text!=null)
{
//这里写赋值;
}
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2012-05-10 09:44
社区公告

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