将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里面,格式错误 ~~
...全文
376 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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)
{
//这里写赋值;
}

111,092

社区成员

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

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

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