Datum Uhrzeit MySQL
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Datum Uhrzeit MySQL
Hallo,
ich habe ein Edit Feld indem ich ein Datum und eine Uhrzeit eintragen will, im besten Fall als dd.mm.yyyy hh:mm:ss
Leider habe ich keinen erfolg. ich wäre auch mit yyyy-mm-dd hh:mm.ss zufrieden.
ich habe ein Edit Feld indem ich ein Datum und eine Uhrzeit eintragen will, im besten Fall als dd.mm.yyyy hh:mm:ss
Leider habe ich keinen erfolg. ich wäre auch mit yyyy-mm-dd hh:mm.ss zufrieden.
Zuletzt geändert von Daniel_Berlin am Fr 5. Jun 2020, 00:05, insgesamt 1-mal geändert.
-
- Beiträge: 31
- Registriert: So 14. Aug 2011, 09:11
Re: Datum Uhrzeit MySQL
Für Inserts / Updates per SQL formatiere ich einen DateTime-Wert mit
dt := quotedstr(FormatDateTime('yyyy-mm-dd hh:nn:ss', datumUhrzeit));
Form2.SQLQuery1.SQL.Text := 'INSERT INTO test (endzeitpunkt) VALUES (' + dt + ')';
und dann
Form2.SQLQuery1.ExecSQL
dt := quotedstr(FormatDateTime('yyyy-mm-dd hh:nn:ss', datumUhrzeit));
Form2.SQLQuery1.SQL.Text := 'INSERT INTO test (endzeitpunkt) VALUES (' + dt + ')';
und dann
Form2.SQLQuery1.ExecSQL
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Datum Uhrzeit MySQL
Ich verstehe nicht, das jeder auf den Stringgefrickel herumreitet. Wenn das Feld in der DB ein Datetime ist gehts mit Parametern typensicher.Daniel_Berlin hat geschrieben: Do 4. Jun 2020, 12:00 procedure TForm3.ButtonSpeichernClick(Sender: TObject);
var
stringEndzeitpunkt : string;
stringA : TDateTime;
begin
stringA:= EditEndzeitpunkt.Text;
stringA := StrtoDateTime(stringEndzeitpunkt);
Form2.connectDB;
Form2.SQLQuery1.SQL.Text := 'INSERT INTO test (endzeitpunkt) VALUES (''+stringA+''')';
Form2.closeDB;
Code: Alles auswählen
procedure TForm3.ButtonSpeichernClick(Sender: TObject);
var
stringEndzeitpunkt : string;
dtA : TDateTime;
begin
stringEndzeitpunkt := EditEndzeitpunkt.Text;
dtA := StrtoDateTime(stringEndzeitpunkt);
Form2.connectDB;
Form2.SQLQuery1.Active := false;
Form2.SQLQuery1.Clear;
try
Form2.SQLQuery1.SQL.Text := 'INSERT INTO test (endzeitpunkt) VALUES (:sqldta)';
Form2.SQLQuery1.Params.CreateParam(ftDateTime, 'sqldta', ptInput);
Form2.SQLQuery1.ParamByName('sqldta').AsDateTime := dtA;
Form2.SQLQuery1.ExecSQL;
except
on E:Exception do begin
Debugln({I %FILE% + '->' + {I %CURRENTROUTINE%} + ' Exception =>'+ E.Message);
end;
end;
....
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
Ich hab jetzt mal deinen Quellcode genommen, jetzt bekomme ich aber die Fehlermeldung:
Identifier not found ftDateTime
und
Identifier not found ptInput
Identifier not found ftDateTime
und
Identifier not found ptInput
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Datum Uhrzeit MySQL
Dir fehlt in den uses DB (reicht normaerweise im implementationsteil)
Bei google einfach lazarus createparam eingegeben und als 3ten Eintrag
https://www.freepascal.org/docs-html/cu ... param.html
gefunden. Und dort gibt es den Hinweis auf db.pas
Bei google einfach lazarus createparam eingegeben und als 3ten Eintrag
https://www.freepascal.org/docs-html/cu ... param.html
gefunden. Und dort gibt es den Hinweis auf db.pas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Datum Uhrzeit MySQL
Bitte die Unit DB in die uses-Klausel aufnehmen.Daniel_Berlin hat geschrieben: Do 4. Jun 2020, 13:20 Ich hab jetzt mal deinen Quellcode genommen, jetzt bekomme ich aber die Fehlermeldung:
Identifier not found ftDateTime
und
Identifier not found ptInput
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
sorry, hatte gerade noch was zu tun.
Hat super funktioniert.
Hat super funktioniert.

-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
Das hat super funktioniert, aber jetzt hab ich mit der Einstellung ein kleines anderes Problem:
Der folgende Befehl funktioniert nur, wenn in dem Feld Endzeitpunkt es drin steht, wenn es leer ist bekomm ich die Meldung " '' is not a valid date format"
Die Else if Bedingung funktioniert, nur der erste Teil bereitet schwierigkeiten
Der folgende Befehl funktioniert nur, wenn in dem Feld Endzeitpunkt es drin steht, wenn es leer ist bekomm ich die Meldung " '' is not a valid date format"
Die Else if Bedingung funktioniert, nur der erste Teil bereitet schwierigkeiten
Zuletzt geändert von Daniel_Berlin am Fr 5. Jun 2020, 00:05, insgesamt 1-mal geändert.
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Datum Uhrzeit MySQL
was willst da machen? Das sieht aus als wäre es wild zusammengeklickt.
Einmal update, einmal insert. Im insert einen Fehler drinnen, so das der nicht funktionieren kann. In dem einen Zweig ein ConnectDB im anderen nicht. Zusätzlich ein stringA der boolean ist. Wie wird der zugewiesen?
Meine Glaskugel ist momentan trübe. Kannst du mehr vom Code zeigen, nicht das man alles Erraten muss, was du wirklich willst.
Einmal update, einmal insert. Im insert einen Fehler drinnen, so das der nicht funktionieren kann. In dem einen Zweig ein ConnectDB im anderen nicht. Zusätzlich ein stringA der boolean ist. Wie wird der zugewiesen?
Meine Glaskugel ist momentan trübe. Kannst du mehr vom Code zeigen, nicht das man alles Erraten muss, was du wirklich willst.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
Ich gebe dir mal meinen ganzen Code, dort sind die Variablen aber anders. Ich wollte einen gekürzten Code bereitstellen, damit es übersichtlicher wird.
StringA entspricht strinOrderNeu und wird auf true gesetzt, wenn ein Button geklickt wird.
es geht um die procedure ButtonSpeichernClick
StringA entspricht strinOrderNeu und wird auf true gesetzt, wenn ein Button geklickt wird.
es geht um die procedure ButtonSpeichernClick
Zuletzt geändert von Daniel_Berlin am Fr 5. Jun 2020, 13:33, insgesamt 1-mal geändert.
- af0815
- Lazarusforum e. V.
- Beiträge: 6766
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Datum Uhrzeit MySQL
Du hast im Code folgendes:
Das Problem ist, das du current_timestamp nicht als Parameter in dem SQL-Text definierst, sondern als eine interne Funktion des Servers.
Code: Alles auswählen
IF (stringOrderNeu = false) THEN
begin
Form2.connectDB;
Form2.SQLQuery1.SQL.Text := 'Update kauforder SET endzeitpunkt = current_timestamp(), stornierzeitpunkt = current_timestamp(), ist_ausgefuehrt = "0" WHERE order_id ='''+stringOrder_ID+''';';
Form2.SQLQuery1.Params.CreateParam(ftDateTime, 'current_timestamp', ptInput);
Form2.SQLQuery1.ParamByName('current_timestamp').AsDateTime := endzeit;
Form2.closeDB;
Code: Alles auswählen
IF (stringOrderNeu = false) THEN
begin
Form2.connectDB;
Form2.SQLQuery1.SQL.Text := 'Update kauforder SET endzeitpunkt = :SQLendzeitpunkt , stornierzeitpunkt = :SQLstornierzeitpunkt , ist_ausgefuehrt = "0" WHERE order_id =:SQLOrderID;';
Form2.SQLQuery1.Params.CreateParam(ftDateTime, 'SQLendzeitpunkt ', ptInput);
Form2.SQLQuery1.ParamByName('SQLendzeitpunkt ').AsDateTime := endzeit;
Form2.SQLQuery1.Params.CreateParam(ftDateTime, 'SQLstornierzeitpunkt ', ptInput);
Form2.SQLQuery1.ParamByName('SQLstornierzeitpunkt ').AsDateTime := endzeit;
Form2.SQLQuery1.Params.CreateParam(ftString, 'SQLOrderID', ptInput);
Form2.SQLQuery1.ParamByName('SQLOrderID').AsString := stringOrder_ID;
Form2.closeDB;
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
Super. das hat geklappt.
Zuletzt geändert von Daniel_Berlin am Fr 5. Jun 2020, 13:37, insgesamt 2-mal geändert.
-
- Beiträge: 582
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.8
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: Datum Uhrzeit MySQL
Du kannst das auch so machen:Daniel_Berlin hat geschrieben: Fr 5. Jun 2020, 00:02...Code: Alles auswählen
IF (comboMarktteilnehmer.Text ='Müller') THEN Begin stringMarktteilnehmer:='1'; end else IF (comboMarktteilnehmer.Text ='Meier') THEN Begin stringMarktteilnehmer:='2'; end ELSE IF (comboMarktteilnehmer.Text ='Lehmann') THEN Begin stringMarktteilnehmer:='3'; end ELSE IF (comboMarktteilnehmer.Text ='Schmidt) THEN Begin stringMarktteilnehmer:='4'; end; ...
Code: Alles auswählen
case comboMarktteilnehmer.Text of
'Müller': stringMarktteilnehmer:='1';
'Meier': stringMarktteilnehmer:='2';
'Lehmann': stringMarktteilnehmer:='3';
'Schmidt': stringMarktteilnehmer:='4';
{ // zur Sicherheit kann man hier auch mit else einen anderen Wert schreiben wenn keine Übereinstimmung gefunden wurde.
else
stringMarktteilnehmer:='0';
}
end;
Zuletzt geändert von sstvmaster am Sa 13. Jun 2020, 19:26, insgesamt 1-mal geändert.
LG Maik
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
Super. das hat geklappt.
Zuletzt geändert von Daniel_Berlin am Fr 5. Jun 2020, 13:37, insgesamt 2-mal geändert.
-
- Beiträge: 37
- Registriert: So 31. Mai 2020, 21:13
Re: Datum Uhrzeit MySQL
alles wieder gut 
