首页新闻找找看学习计划

转换为DateTime类型时,运行出错,数据库字段为datetime类型一致,怎么解决?

0
悬赏园豆:15 [待解决问题]

用户代码未处理FormatException

该字符串未被识别为有效的DateTime.

gja的主页 gja | 初学一级 | 园豆:16
提问于:2014-08-09 15:40
< >
分享
所有回答(5)
0

字符串是什么格式的??

wolfy | 园豆:2636 (老鸟四级) | 2014-08-09 15:55
0

select cast('2014-08-09' as datetime)
select convert(datetime,'2014-08-09')

入库前转换下,有时是你入库时数据没有判断,将非时间类型数据强制加入datetime字段,报的错。

有时还有奇怪格式的时间,也是要cast下,不然也会报错。

我叫宋 | 园豆:171 (初学一级) | 2014-08-09 18:40
0

你断点调试,看看字符串是不是为空或者字符串不是时间格式了

单恋 | 园豆:678 (小虾三级) | 2014-08-10 10:46
0

该字符串未被识别为有效的DateTime.

很明显是你的字符串不是正确的DateTime格式,当然会报错了。

晓菜鸟 | 园豆:2564 (老鸟四级) | 2014-08-11 10:07
0

一看下你传的值是不是空的,二确定下格式 datetime,可以写个变量类型转换方法,试下:

/// <summary>
        /// 日期转换(日期9999的转成"")
        /// </summary>
        protected string ChangeDate(Object edit)
        {

            if (edit != null && edit !=DBNull.Value)
            {
                DateTime Time = Convert.ToDateTime(edit);
                if (Time.Year != 9999)
                {
                    return Time.ToString("yyyy-MM-dd");
                }
                else
                {
                    return "";
                }
            }
            else
            {
                return "";
            }
        }

 

风醉 | 园豆:1197 (小虾三级) | 2014-08-11 15:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册