Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DateTime-Probleme mit UniDac (https://www.delphipraxis.net/196105-datetime-probleme-mit-unidac.html)

Ykcim 23. Apr 2018 16:17

Datenbank: MySQL • Version: 5 • Zugriff über: UniDac

DateTime-Probleme mit UniDac
 
Hallo Zusammen,

ich bekomme hier gerade eine schwere Kriese! Seit dem letzten Update von meinen UniDac-Komponenten funktioniert das DateTime nicht mehr.
Ich bekomme ständig falsche Werte und Formatierung raus.

Die Krönung ist jetzt heute, dass ich einen einfachen DateTime-Wert nicht mehr speichern kann...

Ich habe es so probiert:
Delphi-Quellcode:
Query_Besucher_raus.SQL.Clear;
      Query_Besucher_raus.SQL.Add('update besucher set weggang=:weggang and pc_weggang=:pc_weggang where besucher_id=:besucher_id');

      Query_Besucher_raus.ParamByName('weggang').AsDateTime:=StrtoDateTime('23.04.2018 17:10:00');
      Query_Besucher_raus.ParamByName('pc_weggang').AsString:=ComputerName();
      Query_Besucher_raus.ParamByName('besucher_id').AsString:=Edit_Besucher_ID_raus.Text;
      Query_Besucher_raus.Execute;
Kann mir bitte jemand sagen, was ich falsch mache?
Die Fehlermeldung sagt immer: #22007Trunced incorrect DOUBLE value: '2018-04-23 17:10:00'

Vielen Dank
Patrick

mensch72 23. Apr 2018 17:43

AW: DateTime-Probleme mit UniDac
 
#22007Trunced incorrect DOUBLE value: '2018-04-23 17:10:00'
??? := StrtoDateTime('23.04.2018 17:10:00');


"Kann mir bitte jemand sagen, was ich falsch mache?"
-> du hast hier zumindest aktuell eine lokale DateTime Variable zu wenig... bei so Sachen stets NUR EINE Funktion/Anweisung pro Zeile... nur so weißt du dann, ob "StrtoDateTime" oder "Query_Besucher_raus.ParamByName('weggang').AsDate Time" diesen Fehler verursachen

mkinzler 23. Apr 2018 17:46

AW: DateTime-Probleme mit UniDac
 
Welchen Typ hat das Datenbankfeld/der Paramter? Stimmen die Datumseinstellungen des Systems?

DeddyH 23. Apr 2018 17:56

AW: DateTime-Probleme mit UniDac
 
Etwas OT: ich dachte immer, beim Update werden die zu aktualisierenden Felder mit Komma getrennt. Akzeptiert MySQL tatsächlich ein AND an der Stelle?

hoika 23. Apr 2018 18:42

AW: DateTime-Probleme mit UniDac
 
Hallo,
https://stackoverflow.com/questions/...value/19397597

also ist das AND Schuld.

Vielleicht gibt es ja das AND sogar als Binäroperation.

Ykcim 23. Apr 2018 21:01

AW: DateTime-Probleme mit UniDac
 
:oops: :oops: :oops:
:wall: :wall: :wall:

Das war der Fehler...
Vielen Dank!

Es passte so gut, weil ich in einem anderen Programm gerade das Problem habe, dass er bei selects das Datum komisch formatiert, was er vorher nicht gemacht hat...
Aber hier war das ausschließlich mein Fehler!

Delphi-Quellcode:
   if Length(Edit_Besucher_ID_raus.Text)=7 then begin
      Query_Besucher_raus.SQL.Clear;
      Query_Besucher_raus.SQL.Add('update besucher set weggang=:weggang, pc_weggang=:pc_weggang where besucher_id=:besucher_id');

      Query_Besucher_raus.ParamByName('weggang').AsDateTime:=now;
      Query_Besucher_raus.ParamByName('pc_weggang').AsString:=ComputerName();
      Query_Besucher_raus.ParamByName('besucher_id').AsString:=Edit_Besucher_ID_raus.Text;
      Query_Besucher_raus.Execute;
      Showmessage('Sie '+Edit_Besucher_ID_raus.Text+' wurden erfolgreich abgemeldet');
   end;
Vielen Dank für die Hilfe!!!
Patrick


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz