Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TDateTime für MySQL-INSERT formatieren (https://www.delphipraxis.net/69012-tdatetime-fuer-mysql-insert-formatieren.html)

Angel4585 9. Mai 2006 08:07

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

TDateTime für MySQL-INSERT formatieren
 
Hallo zusammen,

wie muss ich einen TDateTime-Wert formatieren damit ich ihn mit dem INSERT-Befehl übergeben kann?

das "normale" "09.05.2006 19:04:12" geht nicht, also habe ich das ganze mal auf "2006-05-09 19:04:12" gebracht, was allerdings auch nicht funktioniert. Was mache ich falsch bei der Sache?

MfG Angel4585

(PS: Bevor jetzt hundert Ratschläge kommen das ich doch die "Params" setzen sollte: Ich kann zu dem Zeitpunkt nicht auf diese zugreifen, von daher wärs sehr schön das ohne diese zu machen. Ausserdem wollt ich das schon lange mal wissen :mrgreen: )

omsec 9. Mai 2006 08:13

Re: TDateTime für MySQL-INSERT formatieren
 
Um's vorweg zu nehmen: Ich weis auch nicht, wie das DateTime-Format von MySQL ausschaut. Aber um genau solche Probleme zu vermeiden (was ist wenn der Server eine andere Sprache/Regional SEttings hat?) sollte man mit Parametern arbeiten, dann kannst du den DateTime-Wert direkt übergeben, die gefährliche String-Umwandlung entfällt.

Gollum 9. Mai 2006 08:16

Re: TDateTime für MySQL-INSERT formatieren
 
Hallo,

das MySQL-Datumsformat ist standardmäßig: "2006-05-09 09:14:00".
Dieses Datum mußt Du als Text an Dein Insert-Statement übergeben:
SQL-Code:
  INSERT INTO MyTabelle
  (MyDatum)
  VALUES("2006-05-09 09:14:00")

Loki77 9. Mai 2006 08:17

Re: TDateTime für MySQL-INSERT formatieren
 
Morgen!
Schau doch mal hier nach...

Gruss Philipp

Sharky 9. Mai 2006 08:25

Re: TDateTime für MySQL-INSERT formatieren
 
Zitat:

Zitat von Gollum
...das MySQL-Datumsformat ist standardmäßig: "2006-05-09 09:14:00" ....

Nur als Anmerkung:

Mann kann die Uhrzeit oder auch einen Teil davon weglassen (wird dann mit 00 aufgefüllt).
Es geht also auch ein Insert von "YYYY-MM-DD" oder "YYYY-MM-DD HH" oder "YYYY-MM-DD HH:mm"

Angel4585 9. Mai 2006 09:26

Re: TDateTime für MySQL-INSERT formatieren
 
Hmm.. jetzt gehts mit der Formatierung "2006-05-09 19:04:12" auf einmal... :gruebel: fragt mich nicht warum...

Sharky 9. Mai 2006 09:31

Re: TDateTime für MySQL-INSERT formatieren
 
Hai Angel4585,

ich würde aber gerne wissen warum Du
Zitat:

...Ich kann zu dem Zeitpunkt nicht auf diese zugreifen
nicht auf Parameter zugreifen kannst. Nur aus Interesse.

Angel4585 9. Mai 2006 10:11

Re: TDateTime für MySQL-INSERT formatieren
 
Das ganze sieht etwa so aus:

Delphi-Quellcode:
procedure SetStatement;

  procedure DoAdd;
  begin
  //Hier kann ich nicht darauf zugreifen
  end;
begin

with TZQuery.Create(nil) do
  try
    Connection := ZConnection;
    sql.Text:=DoAdd;
  finally
    Free;
    end;
end;
:roll:

nicht unbedingt sauber aber da ich in der Ausbildung bin sind solche Dinge ein gute Übung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 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