5

我在 MySql 上有一个 C# 应用程序,使用MySQL Connector;我正在尝试发出 DataReader 请求,查询执行良好,但是,当尝试访问 DateTime 字段时,我得到 MySqlConversionException {"Unable to convert MySQL date/time value to 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"]);

有什么建议么?提前致谢

4

4 回答 4

12

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

Allow Zero Datetime=true
于 2009-04-02T15:25:15.383 回答
2

There are a few potential gotchas when converting between MySQL dates/times and .NET DateTimes, but there's a useful section in the MySQL documentation with advice on how to handle the issues.

于 2009-04-02T15:35:21.897 回答
0

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

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

于 2009-04-02T15:24:07.057 回答
0

它也可以是一个 DBNull 值。

于 2009-04-02T15:25:04.043 回答