转 : http://www.cnblogs.com/zeroone/archive/2012/06/27/2565332.html
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、在连接字符串中加入“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