Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi sql und datumsformat (https://www.delphipraxis.net/39395-sql-und-datumsformat.html)

stonimahoni 2. Feb 2005 08:06


sql und datumsformat
 
hi leute

ich brech mir hier grad einen ab aber komm nicht weiter :(

habe folgenden code(schnipsel) :
Delphi-Quellcode:
      commandtext := 'update auftrag set kudienst_mahn1 = ' + FormatDateTime('dd/mm/yyyy', Now) +
                  ' where repnr in (' + upd_repnr + ');';
habe eine access db hintendran und das feld kudienst_mahn1 ist als datum/uhrzeit feld hinterlegt und formatiert


jetzt bekomme ich beim ausführen allerdings folgenden fehler :

blabla syntaxfehler ... bsp: '01.02.2005"
wie bekomm ich das richtig hin ? ich dnek mal das das gänsefüsschen zum schluss falsch ist oder??

ich hab mich shcon todgesucht im inet und in dp aber find nix passendes
weil überall ein ähnlicher formatierunsstring steht : FormatDateTime('mm/dd/yyyy') oder FormatDateTime('dd/mm/yyyy')

weiss jmd rat ?

dankööö


mfg

stoni

mikhal 2. Feb 2005 08:18

Re: sql und datumsformat
 
Access akzeptiert ein Datum im Format
Code:
#<Monat>/<Tag>/<Jahr>#
Beispiel 31.01.2004 => #01/31/2004#
Aber was steht gegen die Nutzung von Parametern? Dann kümmert sich Delphi um das richtige Format.

Grüße
Mikhal

stonimahoni 2. Feb 2005 08:37

Re: sql und datumsformat
 
hi

was meinst du mit der nutzung von parametern ?

solangs funktioniert isses mir egal wie ich das umsetze :)

Sharky 2. Feb 2005 09:00

Re: sql und datumsformat
 
Hai,

mikhal meint das Du dein SQL-Kommando mit Parametern aufbaust. Dies ist der einfachste und übersichtilichste Weg ;-)
In deinem Fall sähe das dann z.B. so aus:
Delphi-Quellcode:
  ADOCommand1.CommandText := 'update auftrag set kudienst_mahn1 = :datum where repnr in (:nummer);';
  ADOCommand1.ParamCheck := True; // Parameter verwenden
  ADOCommand1.Parameters.ParamByName('datum').DataType := ftDate; // Typ des Parameters ":datum"
  ADOCommand1.Parameters.ParamByName('datum').Value := now; // Wert zuweisen
  ADOCommand1.Parameters.ParamByName('nummer').DataType := ftInteger; // Typ des Parameters ":nummer"
  ADOCommand1.Parameters.ParamByName('nummer').Value := upd_repnr; // Wert zuseisen

stonimahoni 2. Feb 2005 11:17

Re: sql und datumsformat
 
hi sharky

wie sooft schon bist du mal wieder mein retter

hab zwar noch keinen plan von dem was du da geschrieben hast aber ich versuch mich mal da reinzulesen

kleines prob jetzt noch : es wird jetzt datum und uhrzeit in die tabelle geschrieben - wie kann ich das verhindern ? ich brauch nur das datum

mfg

stoni

Sharky 2. Feb 2005 11:24

Re: sql und datumsformat
 
Hmmm...

Access kennt glaube ich keinen reinen Datumstyp für die Felder. Darum wird dort wohl noch die Uhrzeit mit reingeschrieben. Das sollte aber nicht stören da dies ja beim Auslesen wieder entfernt wird?
Müsste es aber mal testen.

Sharky 2. Feb 2005 11:31

Re: sql und datumsformat
 
Uff... Ist wohl ein kleiner Fehler ;-)
Delphi-Quellcode:
//  ADOCommand1.Parameters.ParamByName('datum').Value := now; // now = Datum und Zeit
  ADOCommand1.Parameters.ParamByName('datum').Value := Date; // Date = Datum ohne Zeit

stonimahoni 2. Feb 2005 14:14

Re: sql und datumsformat
 
hi sharky


danke nochmals

das klappt nun auch

hatte vorher schon in der db geschaut und das feld was auf datum/zeit eingestellt war mit einem format belegt und dann gings auch :)

aber danke nochmals


gibt einfach noch zuviel dinge die ich net kenne *g*


mfg

stoni


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.

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