Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datumswert in mySQL speichern - möglich? (https://www.delphipraxis.net/75297-datumswert-mysql-speichern-moeglich.html)

hackyie 17. Aug 2006 11:02

Datenbank: mySQL • Version: 5 • Zugriff über: ODBC

Datumswert in mySQL speichern - möglich?
 
ich hätte schon wieder Lust, meine Tischkante anzuknabbern ^^ also..

ich habe eine mySQL Tabelle in der ein DATE-Wert steht und würde da gerne mit ner ganz normalen TQuery ein Datum reinschreiben. Ich kriegs trotz langer Forensuche nicht auf die Reihe.

Delphi-Quellcode:
with query1 do
  begin
    ...
   
    with Params.CreateParam(ftDate, 'pdate', ptInput) do asDate := Now;

    ...

   SQL.Add('INSERT INTO pictures VALUES(... :pdate, ...);');

    ...
Ich habs auch mit DateTime versucht, ebenso mit Trunc(Date). gibt jedesmal eine "Operation not applicable" - Fehlermeldung vom Server. Dann habe ich versucht, das Datum mittels Decodedate in einen String umzuwandeln, das gibt auch einen Fehler (invalid argument), obwohl der String korrekt aussieht. Es klappt nur, wenn ichd en String hardgecodet ins Statement schreibe.

Also, wie bekomme ich nun ein Datum in die DB? :cry:

Igotcha 17. Aug 2006 11:06

Re: Datumswert in mySQL speichern - möglich?
 
Versuchs mal damit.

Delphi-Quellcode:
SQL.Add('INSERT INTO pictures VALUES(... :pdate, ...);');
SQL.ParamByName('pdate').AsDate := Now;
...
Und stimmt Deine Werteliste überhaupt mit den Feldern überein? Denn normalerweise (und übersichtlicher) schreibt man ein INSERT so:

Delphi-Quellcode:
INSERT INTO tabelle (feld1, feld2) VALUES (wert1, wert2)
Gruß Igotcha

hackyie 17. Aug 2006 11:51

Re: Datumswert in mySQL speichern - möglich?
 
dein Code produziert leider den selben Fehler.

Die Parameter stimmen alle, wenn ich :pdate durch ''2006-08-17'' austausche, klappt alles astrein.

Igotcha 17. Aug 2006 16:57

Re: Datumswert in mySQL speichern - möglich?
 
Also das sind 2 Zeilen aus einer meiner Anwendungen, die fehlerfrei funktionieren (natürlich funktioniert das für ein INSERT analog):

Delphi-Quellcode:
ZQuery1.SQL.Text:='UPDATE pim_pb_berichte SET status=1, uegabedate=:uedate WHERE projektid=:projektid AND monat=:monat AND jahr=:jahr';
ZQuery1.ParamByName('uedate').AsDate:=Now;
Ich sagte ja, dass ich vermute, dass Dein Problem woanders liegt.

Viele Grüße
Igotcha

omata 17. Aug 2006 17:13

Re: Datumswert in mySQL speichern - möglich?
 
Hallo hackyie,

das Problem ist das Datumformat. MySQL erwartet yyyy-mm-dd und dein Format ist vermutlich dd.mm.yyyy.

Schau doch mal hier.

Gruss
Thorsten


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