Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datum inkl. Uhrzeit in DATE - Feld (https://www.delphipraxis.net/101685-datum-inkl-uhrzeit-date-feld.html)

HolgerCW 17. Okt 2007 12:34

Datenbank: ORACLE • Version: 9 • Zugriff über: BDE

Datum inkl. Uhrzeit in DATE - Feld
 
Hallo zusammen,

ich habe einen String: Datum := '17.10.2007, 13:35:00'

Wenn ich diesen in die Datenbank in die Spalte DATUM mit der Deklaration DATE packe kommt folgende Fehlermelung:

Datumsformatstruktur endet vor Umwandlung der gesamten Eingabezeichenfolge.

1. Wie muss der String aussehen um in die DATUM - Spalte eingefügt zu werden ?
2. In der DATUM - Spalte sind schon Werte wie z.B.: '17.10.2007 13:30:23'

Gruss

Holger

Bernhard Geyer 17. Okt 2007 12:38

Re: Datum inkl. Uhrzeit in DATE - Feld
 
1, Zeig mal deinen bisherigen Code
2, Schmeiß die BDE weg
2, Datumwerte sollten noch viel mehr (als sonst) per Parametrisierte Abfragen in die Datenbank geschrieben werden um den Problem mit unterschiedlichen Datumsformaten aus dem Weg zu gehen.

HolgerCW 17. Okt 2007 12:49

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Füge mit:

Delphi-Quellcode:
INSERT INTO TABELLE DATUM VALUES(''' + Datum + ''');
oben genanntes Datumsformat ein.

Gruss

Holger

DeddyH 17. Okt 2007 12:56

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Delphi-Quellcode:
Query.SQL.Text := 'INSERT INTO TABELLE(DATUM) VALUES(:datum);';
Query.ParamByName('datum').AsDateTime := now;
So in der Art geht das mit Parametern.

HolgerCW 17. Okt 2007 13:00

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Nur ist folgendes:

Ich hole mir das Datum aus einem Datetimepicker, die stunde aus einer Combobox und die minuten auch.

Baue die in einem string zusammen, der dann so aussieht: Datum : = '17.10.2007 13:55:00'

Muss ich dann also nur

Delphi-Quellcode:
INSERT INTO TABELLE(DATUM) VALUES(:datum);
machen, und das Datum inkl. Uhrzeit ist auf der Datenbank vorhanden ? Weil Datum ja eine String-Variable ist.

Gruss

Holger

DeddyH 17. Okt 2007 13:08

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Sieh Dir mein Beispiel noch einmal an. Du übergibst dem Parameter keinen String, sondern einen TDateTime (z.B. aus dem DateTimePicker). Das Parsen in das richtige Format übernimmt das Framework für Dich.

HolgerCW 17. Okt 2007 13:09

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Und wie gebe ich die Uhrzeit mit, die der Anwender ausgewählt hat ?

Gruss

Holger

hoika 17. Okt 2007 13:11

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Hallo,

du musst das Date/Time halt vorher zusammenbauen.

Delphi-Quellcode:
var
  tdtDateTime: TDateTime;
  tdtTime   : TDateTime;
begin
  tdtDateTime:= DateOf(DateTimePicker.Date) ; // DateOf aus jedi, oder Trunc nehmen
  tdtTime:= StrToTime(ComboBox.Items[ComboBox.ItemIndex]); // tja, weiss nicht, wie es drinsteht
 
  tdtDateTime:= tdtDateTime+tdtTime;
und nu tdtDateTime per AsDateTime über Parameter übergeben, siehe oben


Heiko

DeddyH 17. Okt 2007 13:13

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Delphi-Quellcode:
Zeit := DateTimePicker.Date + StrToTime(Format('%s:%s',[ComboBox1.Items[ComboBox1.ItemIndex],ComboBox2.Items[ComboBox2.ItemIndex]]));

HolgerCW 17. Okt 2007 13:42

Re: Datum inkl. Uhrzeit in DATE - Feld
 
Hi,

kann ich die Parametrisierung auch im SQL -String durchführen ?

Benutze nämlich eine Funktion zum einfügen von Datensätzen. Müsste die sonst kommplett umschrieben.

Vielleicht so:

Delphi-Quellcode:
Datum: TDateTime;
SQLString: String;

...

SQLString := 'INSERT INTO TABELLE (DATUM) VALUES (TO_DATETIME(''' + Datum + '''))';
Nur so wie oben klappt es nicht.

Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:11 Uhr.
Seite 1 von 3  1 23      

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