bigpoint Geschrieben 16. Dezember 2002 Teilen Geschrieben 16. Dezember 2002 Wie frage ich ColeDateTime ob in DB NULL steht ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 17. Dezember 2002 Autor Teilen Geschrieben 17. Dezember 2002 vielleich so if(!dLetzteAend.ParseDateTime(NULL,VAR_DATEVALUEONLY )){ strErstelldatum=""; }else strErstelldatum = dErstellDatum.Format("%c"); Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. Dezember 2002 Teilen Geschrieben 17. Dezember 2002 Du solltest einen NULL-Wert möglichst vor irgendwelchen Konvertierungen abfangen. Wenn ich mich richtig erinnere, hast Du doch ein DATE, dass Du in den COleDateTime konvertierst. Was steht denn in dem DATE, wenn in der Datenbank NULL steht? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 17. Dezember 2002 Autor Teilen Geschrieben 17. Dezember 2002 Genau vieleich so, daß meine Datumvariable ursprünglich von DATE kommt und es ist nichts anderes als ein double Wert //Überprüfen ob in DB NULL Wert steht if(pRs->m_dtLetzteAend <= NULL){ strLetzteAend=""; }else strLetzteAend = dLetzteAend.Format("%c"); In DATE steht minus Wert wenn in DB NULL steht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 17. Dezember 2002 Autor Teilen Geschrieben 17. Dezember 2002 Genauer: -6.2774385622042e+066 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. Dezember 2002 Teilen Geschrieben 17. Dezember 2002 Originally posted by 007ski Genauer: -6.2774385622042e+066 Das ist der Wert, mit dem bei einem Debug-Build uninitialisierter Freispeicher gefüllt wird. Darauf kann man sich also nicht verlassen. Wie sieht es aus, wenn Du vor dem MoveNext dem DATE den Wert -1.0 zuweist? Was für ein Wert steht dann nach dem MoveNext drin, wenn in der Datenbank NULL stand? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 17. Dezember 2002 Autor Teilen Geschrieben 17. Dezember 2002 Originally posted by Klotzkopp Das ist der Wert, mit dem bei einem Debug-Build uninitialisierter Freispeicher gefüllt wird. Darauf kann man sich also nicht verlassen. Wie sieht es aus, wenn Du vor dem MoveNext dem DATE den Wert -1.0 zuweist? Was für ein Wert steht dann nach dem MoveNext drin, wenn in der Datenbank NULL stand? Ich weis es nicht denn komischer weise steht er immer dann wenn NULL in DB steht ;-( Sorry für die Frage ( ich bin noch leider nicht so weit mit vc++ ) aber was hat MoveNext() mit Datum zutun ??? MoveNext (), MoveLast() usw zeigt nur entsprechenden Datensatz sonst nichts oder ????? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 17. Dezember 2002 Teilen Geschrieben 17. Dezember 2002 Originally posted by 007ski Sorry für die Frage ( ich bin noch leider nicht so weit mit vc++ ) aber was hat MoveNext() mit Datum zutun ??? MoveNext (), MoveLast() usw zeigt nur entsprechenden Datensatz sonst nichts oder ????? MoveNext und MoveLast zeigen gar nichts an. Aber sie füllen die an die Datenbankfelder gebundenen Variablen mit Werten, darunter auch dein DATE. Die Frage ist jetzt, ob der Wert überhaupt geändert wird, wenn in diesem Feld ein NULL-Wert steht, oder ob der Wert so gelassen wird, wie er ist. Deshalb solltest Du die DATE-Variable mit einem Wert vorbelegen. Wenn der Wert hinterher immer noch gleich ist, dann bewirkt ein NULL-Wert keine Änderung. Das könnte man als Erkennungsmerkmal heranziehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigpoint Geschrieben 17. Dezember 2002 Autor Teilen Geschrieben 17. Dezember 2002 OK habe ich verstanden, also der Wert auf jeden fall hinterher immer noch gleich ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.