这个问题发生在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、将该字段设置成字符串类型; |
|