Statt 2007 wird 1970 gespeichert und ausgegeben



  • Ich habe in meiner mySQL-Datenbank die Spalte Date in Datum umbenannt. Gleichzeitig habe ich in meinem MFC C++ Programm die Date / date in Datum / datum umbenannt.

    Seitdem wird das Datum als 1970-2-5 statt 2007-2-5 gespeichert. Woran liegt das?

    Hier dem Format-Code:

    tDateFrom.Format("%d-%d-%d", tTime.GetYear(), tTime.GetMonth(), tTime.GetDay());
    
    tDateTo.Format("%d-%d-%d", tTime.GetYear(), tTime.GetMonth(), tTime.GetDay());
    
    tDate.Format("%d-%d-%d", tTime.GetYear(), tTime.GetMonth(), tTime.GetDay());
    

    Wo ist der Fehler? Kann ich das Datum nicht gleich im Format 5.2.2007 in der DB speichern?



  • Überlass der Datenbank doch einfach, in welchem Format sie das Datum speichert. Wenn es in der Datenbank ein Datumsfeld ist und die entsprechende Membervariable der Recordset-Klasse auch vom Typ Date ist, sollte es eigentlich möglich sein, dieser Membervariable einen CTime- (oder COleDateTime-) Wert zuzuordnen. Wenn du ein bestimmtes Format benötigst, dann wandle den Wert nach dem Auslesen aus der Datenbank in das entsprechende Format um.



  • Wieso speichert der nun ein Datum permant als 1970-1-2 um??? Egel, welches Datum ich über das Datumsfeld auswähle. Wie kann ich das ändern.



  • Oder speicher einfach ein char 8 mit JJJJMMTT. Das kann man dann auch mit anderen auf größer, kleiner usw. vergleichen.



  • Ich habe ein Datumsfeld in einem Dialog, der mit MFC erstellt wurde. Dort wählt man mit der Maus in dem Kalender das Datum, was übernommen wird. Wähle ich das heutige, dann speichert die DB das trotzdem als 1970-1-2. Das muss ja irgendein Standard-Ding sein, da es unabhängig vom eingegebenen Datum ist.


Log in to reply