分享

Unable to convert MySQL date/time value to System.DateTime 解决方案 转

 明朝更替 2015-09-01

这个问题发生在MySQL数据里面有Date类型数据,在C#中查询出来时候时间的类型不一致而导致!

网上看了一下,找到有两种解决方案:

1、在连接字符串中加入“Allow Zero Datetime=True”;

   con = new MySqlConnection("server=localhost;database=test;CharSet=gb2312;pooling=false;port=3306;UId=root;Pwd=pwd;Allow Zero Datetime=True");

  这个是一劳永逸、未雨绸缪的办法,加完就不用管了。

2、在用到有查询数据的语句时候加上 CAST(date as char) 转换一下:

  eg(例如) :  select CAST(字段名 as char) from tbl_test


C#读取MySql时,如果存在字段类型为date/datetime时的可能会出现以下问题
“Unable to convert MySQL date/time value to System.DateTime”

原因:可能是该字段(date/datetime)的值默认缺省值为:0000-00-00/0000-00-00 00:00:00,这样的数据读出来转换成System.DateTime时就会有问题;

解决办法:
1、将该字段的缺省值设置为null,而不是0000-00-00/0000-00-00 00:00:00的情况;
2、在链接MySQL的字符串中添加:Convert Zero Datetime=True 和 Allow Zero Datetime=True两个属性;
3、将该字段设置成字符串类型;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多