Konvertierung object (aus DB) nach DateTime

01/03/2008 - 16:03 von Michael Broede | Report spam
Hallo NG,

ich habe ein object, das aus einer MSSQL-Datenbank
via OleDb etwa wie folgt mit einem Datum gefüllt
wird:

object o = myDataTable.Rows[0]["Datum"];

Dieses möchte ich zum Typ DateTime konvertieren.
Mein Debugger zeigt für o folgendes:

o = "Màr 1 2008 9:29AM"

Folgendes führt zur Exception:

DateTime dt = System.DateTime.Parse(o.ToString());

oder

DateTime dt = Convert.ToDateTime(o);

Wie macht man es richtig?
Im Übrigen:

o = "Feb 1 2008 9:29AM"

funktioniert, wie auch alle anderen Datums.
Außer im Monat Màrz. Da geht es schief.
Weiterhin:

DateTime dt = System.DateTime.FromOADate((double)o);

geht immer gar nicht.

Vielen Dank im Voraus.

Michael
 

Lesen sie die antworten

#1 Peter Fleischer
01/03/2008 - 16:15 | Warnen spam
"Michael Broede" schrieb im Newsbeitrag
news:47c9704a$0$14410$

ich habe ein object, das aus einer MSSQL-Datenbank
via OleDb etwa wie folgt mit einem Datum gefüllt
wird:

object o = myDataTable.Rows[0]["Datum"];

Dieses möchte ich zum Typ DateTime konvertieren.
Mein Debugger zeigt für o folgendes:

o = "Màr 1 2008 9:29AM"

Folgendes führt zur Exception:

DateTime dt = System.DateTime.Parse(o.ToString());



Hi Michael,
die mehrfache Konvertierung ist schlecht zu beherrschen (lokale
Einstellungen können unschöne Seiteneffekte bewirken). Besser ist ein
Typcasting:

DateTime dt = (DateTime)o;

Wenn Null in der Datenbank zulàssig ist, dann sollte "o" vorher auf
DBNull.Value geprüft werden.


Viele Gruesse

Peter

Ähnliche fragen