2009-04-02 19 views
4

私はMySql上でC#アプリケーションを使用しています。これはMySQL Connectorを使用しています。私は DataReaderリクエストを作成しようとしていますが、DateTimeフィールドにアクセスしようとするとクエリが正常に実行されますが、MySqlConversionException {"MySQLの日付/時刻値をSystem.DateTimeに変換できません"}DataReaderからDateTimeフィールドにアクセスするとMySqlConversionExceptionが発生する

これは試作品です

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

ご意見はありますか? ありがとうございます事前にありがとう

答えて

9

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

Allow Zero Datetime=true 
+0

ありがとう、私はそれらの値、素晴らしいトリックを見つけませんでした –

0

私はそれが文化固有のエラーかもしれないことを示唆しています - データベースと同じサーバー上のアプリケーションですか、彼らは同じ文化の設定を持っていますか?

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

0

また、DBNull値にすることもできます。

2

MySQLの日付/時刻と.NETの日付時刻の間で変換するときに、いくつかの潜在的な落とし穴がありますが、しかしuseful section in the MySQL documentationは問題を処理する方法についてのアドバイスがあります。

+0

あなたはリンクを更新しましたか?これは壊れています。 – jkw4703

+0

@ jkw4703:リンクを修正しました。 – LukeH

関連する問題