【.Net+数据库】Unable to convert MySQL date/time value to System.DateTime

时间:2022-04-28 00:27:43

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、将该字段设置成字符串类型;

<add name="MySqlCon" connectionString="Database=test;Data Source=localhost;User Id=root;Password=123456;pooling=false;CharSet=utf8;Port=3306;Convert Zero Datetime=True;Allow Zero Datetime=True;"  providerName="MySql.Data.MySqlClient" />