我使用MySQL Connector在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"]);
有什么建议吗? 提前致谢
答案 0 :(得分:12)
如果MySQL数据库中的日期时间值为零(00/00/0000 00:00),则有时会发生此错误。尝试将其添加到连接字符串的末尾:
Allow Zero Datetime=true
答案 1 :(得分:2)
在MySQL日期/时间和.NET DateTimes之间进行转换时,有一些潜在的问题,但是有useful section in the MySQL documentation提供了有关如何处理问题的建议。
答案 2 :(得分:0)
我建议它可能是一个特定于文化的错误 - 是与DB在同一台服务器上的应用程序,它们是否具有相同的文化设置?
此外,该列绝对是MySQL中的日期时间吗?
答案 3 :(得分:0)
它也可以是DBNull值。