从DataReader访问DateTime字段时出现MySqlConversionException

我使用MySQL连接器在MySql上有一个C#应用程序; 我正在尝试创建DataReader请求,查询执行正常,但是,当尝试访问DateTime字段时,我得到MySqlConversionException {“无法将MySQL日期/时间值转换为System.DateTime”}

这是原型

if (dr != null && !dr.Read()) return; sesion.Id = Convert.ToInt32(dr["id"]); sesion.Usuario = Convert.ToInt32(dr["usuario"]); sesion.Estado = Convert.ToByte(dr["estado"]); // doesn't work sesion.FchCreacion = Convert.ToDateTime(dr["fch_creacion"]); 

有什么建议? 提前致谢

如果MySQL数据库中的日期时间值为零(00/00/0000 00:00),则有时会发生此错误。 尝试将其添加到连接字符串的末尾:

 Allow Zero Datetime=true 

在MySQL日期/时间和.NET DateTimes之间进行转换时,有一些潜在的问题,但MySQL文档中有一个有用的部分 ,提供有关如何处理问题的建议。

我建议它可能是一个特定于文化的错误 – 应用程序与数据库在同一台服务器上,它们是否具有相同的文化设置?

此外,该列绝对是MySQL中的日期时间吗?

它也可以是DBNull值。