5

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"]);

助言がありますか?前もって感謝します

4

4 に答える 4

12

このエラーは、MySQL データベース (00/00/0000 00:00) にゼロの日時値がある場合に発生することがあります。これを接続文字列の最後に追加してみてください。

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

MySQL の日付/時刻と .NET DateTimes の間で変換を行う際に問題が発生する可能性がありますが、MySQL のドキュメントには、問題の処理方法に関するアドバイスが記載された便利なセクションがあります。

于 2009-04-02T15:35:21.897 に答える
0

文化固有のエラーである可能性があることをお勧めします-アプリケーションはDBと同じサーバー上にあり、それらは同じ文化設定を持っていますか?

また、列は間違いなくMySQLの日時ですか?

于 2009-04-02T15:24:07.057 に答える
0

DBNull 値の場合もあります。

于 2009-04-02T15:25:04.043 に答える