Bedeutung von exceptions in C# app: "Nicht eine juristische OleAut-Datum"?
Weiß jemand, was das bedeutet. Immer diese in C# - winforms-Anwendungen:
Nicht eine juristische OleAut-Datum
InformationsquelleAutor der Frage leora | 2008-11-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bedeutet es, dass irgendwo in dem Programm wird versucht, zu konvertieren oder aus einem OLE-Automatisierung-Datum außerhalb des gültigen Bereichs 1-Januar-4713 v. Chr. bis 31-Dezember-9999 AD. Könnte es rutschte durch, da OLE-Automatisierung-Daten sind dargestellt als Doppel -.
Starten nach der Verwendung der Methoden:
DateTime.FromOADate
DateTime.ToOADate
InformationsquelleAutor der Antwort xyz
Einem OADate wird dargestellt als ein double-Wert, dessen Wert die Anzahl der Tage von Mitternacht 30. Dezember 1899 (negative Werte, die für frühere Termine).
Diese Ausnahme wird ausgelöst, wenn Sie versuchen, zu konvertieren einen Wert, der außerhalb des gültigen Bereichs von Ole-Automatisierung-Daten zu/von einem .NET DateTime-Wert (Methoden von DateTime.FromOADate und DateTime.ToOADate - auch implizit für die COM-Interop).
Ich glaube, gültig für die Umwandlung zu einem OADate .NET DateTime-Wert muss größer als 01/01/0100.
Konvertieren von OADate .NET DateTime-Wert, der double-Wert muss größer als -657435 (= 01/01/0100) und weniger streng als 2958466.0 (01/01/10000).
InformationsquelleAutor der Antwort Joe
Andere haben sich mit diesem. Ich schlage vor, mit Blick auf diese threads auf DotNetNuke und DevShed.
InformationsquelleAutor der Antwort bugmagnet
Habe ich verwendet:
Umgang mit dem gleichen problem das ich habe. Es wirft die Ausnahme, wenn wir überprüfen das Jahr, in meinem Fall. Nichts zu tun auf ein ungültiges Datum ist genau das Verhalten, das ich will, also dieser hack funktioniert.
InformationsquelleAutor der Antwort lc.
Was ich fand, war, dass eine Spalte mit einem großen row_id '257381195' war der Versuch gelesen werden, die von Excel als Datum. Was ich am Ende tun war, ändern Daten in dieser Spalte in einen string, indem Sie vor der row_id mit einem einzigen Zitat. Dieser mein Problem gelöst. Hoffe, das hilft.
InformationsquelleAutor der Antwort warren caulton
Es bedeutet, dass Sie eine ungültige Datum irgendwo, Sie versuchen, zu konvertieren oder aus einem OLE-Automatisierung-Datum außerhalb des gültigen Bereichs 1-Januar-4713 v. Chr. bis 31-Dezember-9999 AD. Eine mögliche Ursache ist, dass er schlüpfte durch, da OLE-Automatisierung-Daten werden als double dargestellt.
InformationsquelleAutor der Antwort Robert Gamble