AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi To_Date wird nicht erkannt

To_Date wird nicht erkannt

Ein Thema von fanavity · begonnen am 5. Okt 2011 · letzter Beitrag vom 5. Okt 2011
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.000 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:51
Auf der DB ist das Datum so abgespeichert: DD.MM.YYYY
Dein erster Versuch geht davon aus das das Feld als Datumsfeld definiert ist. Dann wird das DB-Interne Format für die Speicherung verwendet und das Format "DD.MM.YYYY" ist nur ein (konfigurierbares) Anzeigeformat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#12

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 09:54
Auf der DB ist das Datum so abgespeichert: DD.MM.YYYY
Dein erster Versuch geht davon aus das das Feld als Datumsfeld definiert ist. Dann wird das DB-Interne Format für die Speicherung verwendet und das Format "DD.MM.YYYY" ist nur ein (konfigurierbares) Anzeigeformat.
Und was bedeutet das dann für mich? Verstehe deine Aussage nicht so ganz. Sorry
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.394 Beiträge
 
Delphi 7 Enterprise
 
#13

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:01
Da ist Einiges überflüssig, wieso die vielen Umwandlungen? Wenn das ein Date-Feld ist dann doch wohl so:
Delphi-Quellcode:
Query.Close;
Query.Sql.Clear;
Query.Sql.Add('SELECT *');
Query.Sql.Add('FROM DATA_Test');
Query.Sql.Add('WHERE DATUM = :Datum');
Query.Params.ParamByName('DATUM').AsDateTime := StrToDate(Datum);
Query.open;
Aber da stellt sich mir auch die Frage, warum mit Stringdatum gearbeitet wird (also die var Datum)?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:02
Genau darauf zielte meine Frage ab. Ein Datum ist ein Datum, da muss man doch nichts in String konvertieren und andersherum.
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
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:06
Er scheitert ja an der Umwandlung von dem Datum ("2011-10-05" Datum im Code ist eine String-Variable) in einen Date-Wert.

Hier sollte man der Funktion Delphi-Referenz durchsuchenStrToDate entsprechend angepasste FormatSettings mitgeben!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:15
Es ist nur eine Vermutung, aber ich glaube, die Variable ist eher aus Verlegenheit als String deklariert. Sofern die Daten aus der DB ausgelesen werden, kann man sie doch auch gleich als TDate verarbeiten.
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
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#17

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:20
ich denke es klemmt an der Hochkommateritis:
Code:
WHERE DATUM = TO_Date( :Datum, "YYYY-MM-DD")
wird von Oracle nicht akzeptiert, es müsste so lauten:
Code:
WHERE DATUM = TO_Date( :Datum, 'YYYY-MM-DD')
oder legt die BDE hier noch einen Vereinfachungsschleier drüber?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#18

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:40
Ich denke mal, dass der Fehler nun behoben ist. Nur leider ist mir aufgefallen, dass ich viel früher schon einen habe. Und zwar beim speichern der Daten.

Vielleicht könnr ihr ja mal rüber sehen!

Delphi-Quellcode:
     Query.Close;
     Query.Sql.Clear;
     Query.Sql.Add('CREATE TABLE '+Tabelle+' ( Nummer real, IDNR real, IDNR2 real) ');

     Database.StartTransaction;

     try
         Query.ExecSQL;
         Database.Commit;
         except
          on E: Exception do
         begin
              Database.Rollback;
              ShowMessage(E.Message);
         end;
     end;


     Query.Close;
     Query.Sql.Clear;
     Query.Sql.Add('INSERT INTO '+Tabelle+' ( Nummer, IDNR, IDNR2) ');
     Query.Sql.Add('SELECT a.TEST1, a.TEST2, b.TEST2');
     Query.Sql.Add('FROM DATA_TEST2 a, DATA_TEST2 b ');
     Query.Sql.Add('WHERE a.IDNR= 4 ');
     Query.Sql.Add('AND b.IDNR= 5');
     Query.Sql.Add('AND a.IDNR LIKE "%'+Variable+'" ');
     Query.Sql.Add('AND a.IDNR2 = b.IDNR');
     Database.StartTransaction;

     try
         Query.ExecSQL;
         Database.Commit;
         except
          on E: Exception do
         begin
              Database.Rollback;
              ShowMessage(E.Message);
         end;
     end;

     Query.Close;
     Query.SQL.Clear;
     Query.SQL.Add('SELECT * FROM '+Tabelle+'');
     Query.Open;
Die Daten werden nicht in die neue Tabelle übertragen. Mit Toad for Oracle funktioniert die Abfrage tadellos.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 10:59
Delphi-Quellcode:

     Query.Close;
     Query.Sql.Clear;
     Query.Sql.Add('CREATE TABLE '+Tabelle+' ' );
     Query.Sql.Add('SELECT a.TEST1 Nummer, a.TEST2 IDNR, b.TEST2 IDNR2 ');
     Query.Sql.Add('FROM DATA_TEST2 a, DATA_TEST2 b ');
     Query.Sql.Add('WHERE a.IDNR= 4 ');
     Query.Sql.Add('AND b.IDNR= 5');
     Query.Sql.Add('AND a.IDNR LIKE "%'+Variable+'" ');
     Query.Sql.Add('AND a.IDNR2 = b.IDNR');
     Database.StartTransaction;

     try
         Query.ExecSQL;
         Database.Commit;
     except
          on E: Exception do
         begin
              Database.Rollback;
              ShowMessage(E.Message);
         end;
     end;

     Query.Close;
     Query.SQL.Clear;
     Query.SQL.Add('SELECT * FROM '+Tabelle+'');
     Query.Open;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
fanavity

Registriert seit: 2. Sep 2011
65 Beiträge
 
#20

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 11:14
Funktioniert leider auch nicht

Die tabelle ist halt einfach leer.. Bekomme auch keine Fehlermeldung oder so..
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf