C# 从DataReader访问DateTime字段时出现MySqlConversionException

C# 从DataReader访问DateTime字段时出现MySqlConversionException,c#,mysql,datetime,idatareader,C#,Mysql,Datetime,Idatareader,我在MySql上有一个C#应用程序,使用;我在试着做一个决定 DataReader请求时,查询执行良好,但是,当尝试访问DateTime字段时,我得到MySqlConversionException{“无法将MySQL日期/时间值转换为System.DateTime”} 这是原型 if (dr != null && !dr.Read()) return; sesion.Id = Convert.ToInt32(dr["id"]); sesion.Usuario = Conver

我在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中肯定是datetime吗?

它也可能是DBNull值。

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

Allow Zero Datetime=true

在MySQL日期/时间和.NET日期时间之间转换时,可能会遇到一些问题,但对于如何处理这些问题,有一些建议。

@jkw4703:我已经修复了链接。