[VC++] Problem mit Datum

warcraft9105

Erfahrenes Mitglied
Moin moin...
schreibe gerade eine Programm um seine Ein- und Ausgaben abzuspeichern. Dabei möchte ich natürlich auch das Datum für jede Aktion speichern. So weit so gut. Ich verwende eine Access-Datenbank und speichere das Datum von einem DateTimePicker. Dieser ist so formatiert, dass der Value auf z.B. 12.02.2009 steht, also die Kurzform. Genau so ist die Spalte in Access auch formatiert. Speichern klappt auch wunderbar und sieht in Access selber auch richtig aus, nur wenn ich mir die Daten aus der Datenbank wieder heraushole fügt er mir an das datum auch noch die Zeit ran.
Sieht dann folgendermaßen aus: 12.02.2009 00:00:00
Kann mir jemand sagen wieso?
Hab jetzt mal ein Workaround gemacht in dem ich einfach mit Substring arbeite aber das kanns ja auch nicht sein.

MfG, Maxi
 
Hi

Das Struct heißt DateTime und beinhaltet immer neben der Datumsinformation auch die Zeitinformation. Auch wenn du nur das Datum benötigst.
Wenn du die vom DateTimePicker den Inhalt des Propertys Value geben lässt, enthält auch dieser die Uhrzeit.
Das Struct DateTime bietet jedoch Methoden an, die dir den Wert nach Bedarf zurückliefern. z.B. die Methode ToShortDateString, welche nur das Datum als String zurückliefert.
 
Das ist schon richtig, aber ich schreibe das Datum so in die DB:
DateTimePicker1->Value.ToShortDateString();
In der DB steht auch nur 12.02.2009 und keine Uhrzeit mehr. Er fügt mir nur die Uhrzeit wieder an wenn ich die Datensätze auslese.
Weiß aber eben nicht warum.

MfG, Maxi
 
Wie schon geschrieben:
Die Struktur beinhaltet immer die Uhrzeit! Wenn du sie nicht benötigst, schenke ihr keine Beachtung
Daher heißt sie auch DateTime.
Wenn du einen speziellen Typ willst, der rein das Datum enthält, musst du dir eine eigene Struktur schreiben. Bedenke aber dabei, dass der DateTimePicker damit nicht klar kommt
 
Das kann schon sein...
Aber was ich nicht verstehe: Wenn in der DB steht 12.02.2009 ohne irgendwelche Zeitangaben, warum ließt er mir dann das Feld aus und fügt dann eine Zeitangabe an wenn ich es nur als String herausziehe?

MfG, Maxi
 
Zurück