DateTimePicker für Datenbankeinträge verwenden



  • habs mal auf einen test ankommen lassen allerdings nicht mit dem DateTimePicker..

    und zwar

    TBookmark test;
     test = t_adrliste->GetBookmark();
     AnsiString datum = DateToStr(Date());
     AnsiString zeit = TimeToStr(Time());
    
     t_adrliste->GotoBookmark(test);
     t_adrliste->Edit();
     t_adrliste->FieldByName("E2Text")->AsString = DBEdit2->Text;
     t_adrliste->FieldByName("E2Datum")->AsString = datum;
     t_adrliste->FieldByName("E2Uhrzeit")->AsString = zeit;
     t_adrliste->Append();
    
     t_adrliste->GotoBookmark(test);
    

    also normalerweise müsste beim datum jetzt ja 14.09.2006 stehen bei der Uhrzeit halt die uhrzeit sagen wir 15:06:45 hehe so stehts auch in der datenbank lasse ich das ganze ausgeben per TDBEdit steht beim datum das richtige bei der Uhrzeit wieder mal 31.12.1899 mit der uhrzeit die logik versteh ich einfach nicht....



  • TBookmark test;
     test = t_adrliste->GetBookmark();
     TDateTime Datum = TDateTime::CurrentDate();
     TDateTime Zeit = TDateTime::CurrenTime();
     t_adrliste->GotoBookmark(test); // Sicher, das überhaupt ein Bookmark vorhanden ist?
     t_adrliste->Edit(); // aktuellen Datensatz bearbeiten, willst Du das hier wirklich?
     t_adrliste->FieldByName("E2Text")->AsString = DBEdit2->Text;
     t_adrliste->FieldByName("E2Datum")->AsDateTime = Datum;
     t_adrliste->FieldByName("E2Uhrzeit")->AsDateTime = Zeit;
     t_adrliste->Append(); // wo ist der Post()? was willst Du jetzt hier noch einfügen?
    

    31.12.1899 deutet darauf hin, das kein Wert eingetragen wurde, das Feld also entweder NULL oder 0 enthält.



  • inwiefern soll da kein wert eingetragen sein?? ist doch in der db steht nur die zeit bloß bei ausgabe dieser gibts halt noch dieses schicke datum mitdazu dein codebsp verhilft auch zu keiner besserung...

    trotzdem danke werd mal schauen ob ich noch ne lösung dafür finde ^^



  • Dann ist vermutlich das Datenbankfeld falsch angelegt. Wie gibst Du das Feld aus?



  • also hab ne ganz normales TTable, TDataSource drin.

    und dann 2TDBEdit- Felder eins fürs datum eins für die Uhrzeit zwecks übersichtlichkeit, DataField ist halt auf das jeweilige Feld in der db eingstellt.

    das feld von der uhrzeit ist auf Zeit, 24h und dem eingabeformat 00:00;0;_ also rein theopraktisch müsste es gehen und stimmen denk ich zumindest.



  • Hm, Access DB und TTable... Ich wünsch Dir viel Spaß beim herumexperimentieren, helfen kann man da nicht. TTable ist veraltet und sollte nicht mehr verwendet werden (wenn dann nur mit Paradox oder dBase) und Access ist bestenfalls als eigenwillig zu bezeichnen.



  • meine rede aber mein chef ist sehr eigenwillig sql möcht er net haben 🤡

    --------Edit-----------
    habs jetzt in ein TDBEdit Feld gelegt -> ohne Probleme ^^



  • heckticker schrieb:

    meine rede aber mein chef ist sehr eigenwillig sql möcht er net haben 🤡

    Das könnte sich irgendwann fürchterlich rächen... 😉

    Hast Du es jetzt über ein TDateTime::TimeString() gelöst? Oder was hast Du gemacht?



  • TDateTime Datumuhrz = TDateTime::CurrentDateTime();
    sowie
    AnsiString Datumuhrz = DateTimeToStr(Now());

    beides uhrzeit und datum werden gespeichert wobei letzteres mir besser gefällt warum auch immer ^^, ausgabe erfolgt in einem TDBEdit feld klappt wunderbar sieht halt bloß net schön aus 😉 aber was solls mein chef ja auch nicht 😃



  • noch kurz zum Thema TDateTimePicker worum es eigentlich ging 😉 lösche einfach alles vor der Zeit sowie nach dem datum und schwups kommts so in die db

    ok mit dem datum klappts mit der uhrzeit nich ich glaub i geh hier kaputt


Anmelden zum Antworten