Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Access Datum speichern - Format ? (https://www.delphipraxis.net/173812-access-datum-speichern-format.html)

user0815 18. Mär 2013 09:16

Datenbank: Access • Version: xx • Zugriff über: ADO

Access Datum speichern - Format ?
 
Ich habe da noch Access... :(

Wie kann ich ein Datum in Access speichern?

Eigentlich ja eine simple Frage. Was funktioniert immer?
Ich habe folgendes:

Delphi-Quellcode:
  Datum := EncodeDateTime(Jahr, Monat, Tag, Stunde, Minute, 0, 0); // gültiges Datum erzeugen

  // Sichern über Parametern
  Parameters.FindParam('Datum').Value := DateTimeToStr(Datum); // Fehler
  // vs
  Parameters.FindParam('Datum').Value := FormatDateTime('dd.mm.yyyy hh:nn:ss', Datum); // Richtig ?
In Lettland ist auf einem XP Rechner für das Datum folgendes Format: Short date format: dd.MM.yyyy
eingestellt. Sicher ich das Datum dort über DateTimeToStr (siehe Code) so wird aus dem 12.02.2013 -> 02.12.2013

p80286 18. Mär 2013 09:39

AW: Access Datum speichern - Format ?
 
Nach meiner Erfahrung, sollte man ein Datum nach Möglichkeit immer von der DB erzeugen lassen, da hat man auch keine Probleme mit den unterschiedlichen Datumsformaten.
So wie Du es beschreibst, hat der Rechner MM.dd.YYYY als Datumsformat, u.U. müßtest Du die Länder/Spracheinstellung überprüfen.

Gruß
K-H

user0815 18. Mär 2013 09:48

AW: Access Datum speichern - Format ?
 
Zitat:

hat der Rechner MM.dd.YYYY als Datumsformat
eben nicht. So ist es auf dem Rechner dort eingestellt.

Short date example: 28.02.2013
Short date format: dd.MM.yyyy
Date separator: .

Darum dachte ich das DateTimeToStr(Datum) da jeweils richtige setzt... was ja nicht passiert

DeddyH 18. Mär 2013 10:05

AW: Access Datum speichern - Format ?
 
Wie ist es denn mit
Delphi-Quellcode:
Parameters.ParamByName('Datum').Value := Datum;
:?:

p80286 18. Mär 2013 10:14

AW: Access Datum speichern - Format ?
 
Ich hab es gerade einmal ausprobiert:
Delphi-Quellcode:
 
  adoquery1.Close;
  adoquery1.SQL.Text:='Insert into tabelle4delphi (feld2) values([B]"[/B]'+datetostr(now)+'[B]"[/B])';
  adoquery1.ExecSQL;
  adoquery1.Close;
  adoquery1.SQL.Text:='select * from tabelle4delphi ';
  adoquery1.open;
  memo1.lines.add(adoquery1.fieldbyname('Feld2').AsString);
  adoquery1.close;
u.u. fallen die doppelten Anführungszeichen bei Dir unter den Tisch.

access ist halt eine Zicke.
Feldtyp ist übrigens Datum/Uhrzeit.

Gruß
K-H

user0815 18. Mär 2013 10:40

AW: Access Datum speichern - Format ?
 
@DeddyH
Zitat:

Parameters.ParamByName('Datum').Value := Datum;
funktioniert. Werde es mal in Lettland testen lassen.


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