AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datum inkl. Uhrzeit in DATE - Feld
Thema durchsuchen
Ansicht
Themen-Optionen

Datum inkl. Uhrzeit in DATE - Feld

Ein Thema von HolgerCW · begonnen am 17. Okt 2007 · letzter Beitrag vom 17. Okt 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 13:45
Natürlich kannst Du es da auch machen (aber die Konvertierung im SQL-String fällt dann weg).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#12

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 13:47
Und wie ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 13:49
Haben wir doch lang und breit in diesem Thread beschrieben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#14

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 13:51
Hier mal mein komplettes Problem:
So sieht alles aus, und nur das DATUM lässt sich nciht einfügen.

Delphi-Quellcode:
procedure Einfuegen();
var
 Datum: String;
 Zeit: TDateTime;
begin

Zeit := DTP_Sigma_Erfassung_Datum.Date + StrToTime(Format('%s:%s',[CB_Sigma_Erfassung_Stunde.Items[CB_Sigma_Erfassung_Stunde.ItemIndex],CB_Sigma_Erfassung_Minute.Items[CB_Sigma_Erfassung_Minute.ItemIndex]]));

Datum := datetimetostr(Zeit);

Datensatz_insert ('''' + Stoer_Art_ID + ''',''' + Anwender_ID + ''', ''' + Datum + ''', ''' + ED_Sigma_Erfassung_Melder.text + ''', ''' + Ort_ID + ''', ''' + ED_Sigma_Erfassung_Strasse.text + ''', ''' + ED_Sigma_Erfassung_Hausnr.text + ''', ''' + ED_Sigma_Erfassung_Hinweis.text + ''', ''' + Bemerkung + ''', '''', ''' + abschliessen + ''', ''' + ED_Sigma_Erfassung_AN.text + ''', ''' + ED_Sigma_Erfassung_TBesitzer.text + ''', ''' + ED_Sigma_Erfassung_Telefon.text + ''', ''' + ED_Sigma_Erfassung_Telefon2.text + '''', 'STOER_ART_ID,ANWENDER_ID, DATUM, MELDER, ORT_ID, STRASSE,HAUS_NR, STOER_HINWEIS, BEMERKUNG, GISREFERENZ,OHNE_AUFTRAG, ISU_ANLAGE,NAME,VORWAHL,NACHWAHL', 'SYSDBP.DBP_ERFASSUNG');

end;

procedure Datensatz_insert (Werte:String; Spalten:String; Tabelle:String);
begin

 with DM_Query_Termas do
 begin
  QueryInsert.Close;
  QueryInsert.SQL[0] := 'INSERT INTO ' + Tabelle + '';
  QueryInsert.SQL[1] := '(' + Spalten + ')';
  QueryInsert.SQL[2] := 'VALUES(' + Werte + ')';
  //QueryInsert.ParamByName('DATUM').AsDateTime := now;
  QueryInsert.ExecSQL;
 end;

 DM_Query_TerMaS.QueryCommit.ExecSQL;

end;
Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 13:56
Das ist so natürlich ein Problem, da man ja nicht im Voraus weiß, was in der Variablen "Werte" steht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#16

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 13:59
Aber auch, wenn ich jetzt davon ausgehe, das die Spalte DATUM mit in der Variable Werte ist, kommt der Fehler:

Parameter 'DATUM' nicht gefunden.

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 14:01
Das muss so in "Werte" stehen: ":datum", also mit vorangestelltem Doppelpunkt, damit es als Parameter erkannt wird.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#18

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 14:15
Habe es jetzt:

Das hatte ich gesucht:

TO_DATE(''' + Datum + ''',''DD.MM.YYYY HH24:MI:SS'') Gruss

Holger
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 14:47
Hallo,

dein SQL-Statement ist extrem schwer zu lesen

Delphi-Quellcode:
with Query do
begin
  SQL.Add('Insert Into Personal(Id,Name,BirthDay)');
  SQL.Add('Values(:Id,:Name,:BirthDay);
ParamByName(
'Id').AsInteger:= theId; // Integer
ParamByName(
'Name').AsString:= theName; // String
ParamByName(
'BirtDay').AsDateTime:= theBirthDay; // TDateTime
ExecSQL;
end;
Wie du siehst, entfallen auch deine '' (OK, QuotedStr würde Abhilfe schaffen).
Ausserdem ist der Code leichter lesbar.
Weiterhin kannst du, falls der Code in einer Schleife,
vorher ein Prepare machen,
dann ist die Query sehr viel schneller.

Für dich das wichtigste,
Das AsDateTime formt den "theBirtDay" so um,
wie Oracle es haben will.


Heiko
Heiko
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#20

Re: Datum inkl. Uhrzeit in DATE - Feld

  Alt 17. Okt 2007, 15:00
Hier scheint mir etwas Chaos vorzuliegen, deshalb hier Schritt für Schritt die Lösung:
1.) Das Datum steht in einem TDateTimePicker, die Uhrzeit in einem 2. TDateTimePicker (Kind = dtkTime)
2.) nun muss Datum & Uhrzeit in einer einzige Variablen zusammengefasst werden:
Delphi-Quellcode:
var
  zeitpunkt: TDateTime;
begin
  zeitpunkt:= Int(DatePicker1.Date) + TimePicker1.Time;
  // die funktion Int() ist ein Bugfix für eine Fehlfunktion im TDateTimePicker
3.) Jetzt sollte der Zeitpunkt angezeigt werden, damit man nicht völlig blind programmiert
  LabelZeitpunkt.Caption := DateTimeToStr(zeitpunkt) 4.) nun muss man den Zeitpunkt irgendwie in eine SQL-Anweisung hineinbekommen.
Das ist gar nicht so einfach, da fast jede Datenbank sein eigenes Format hat
Nicht ohne Grund wurde hier mehrfach die Verwendung von Parametern empfohlen.
Wenn du Parameter nimmst, bist du jetzt fast fertig.
Du verwendest die Oracle Datenbank.
5.) Also ist der nächste Schritt: Studium der Oracle Syntax
http://download-east.oracle.com/docs...a90125/toc.htm
Anscheinend kann man ein Datum im Ansi-Format '2007-10-17' angeben.
Wie das mit der Uhrzeit geht -> selber rausfinden
6.) schlussendlich braucht man dann eine Funktion, die ein TDateTime nach Oracle-Syntax wandelt.
Ungefähr so:
Delphi-Quellcode:
function DateTime2Oracle(value:TDateTime):string;
begin
  if value <= 0.0 then
    result := 'NULL'
  else
    result := QuotedStr(FormatDateTime('yyyy-mm-dd hh:nn:ss', [value]));
end;
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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