AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi To_Date wird nicht erkannt
Thema durchsuchen
Ansicht
Themen-Optionen

To_Date wird nicht erkannt

Ein Thema von fanavity · begonnen am 5. Okt 2011 · letzter Beitrag vom 5. Okt 2011
Antwort Antwort
Benutzerbild von p80286
p80286

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

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 11: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
 
#2

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 11: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
 
#3

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 11: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
 
#4

AW: To_Date wird nicht erkannt

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

Die tabelle ist halt einfach leer.. Bekomme auch keine Fehlermeldung oder so..
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 12:32
Im Letzten Versuch fehlt nach dem Create [tablename] ein "as" vor dem Select.
Ansonsten scheint mir die Like Operation mit Doppelhochkomma verkehrt. Doppelhochkomma ist Delimiter für spezielle Spaltennamen in ORacle. Da es aber um einen String Wert geht, muss mit einfachen Hochkomma plus QuotedStr gearbeitet werden oder mit doppelten einfachen Hochkommata.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 12:35
so ohne Handbuch, muß es nicht so sein:
Code:
Insert Into Tabelle (Feld1,Feld2...) Values(Wert1,Wert2...)
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 12:38
Man kann entweder ein Create Table mit Select kombinieren
Create table [tablename] as [Select..]
oder wie Du geschrieben hast
oder insert into [tablename] ([Columns]) mit Select kombinieren.
Im letzten Fall gehören glaub ich runde Klammern um das Select

Edit: Geht mit und ohne Klammern, glaub das hab ich mit Update plus Select verwechselt.
Gruß, Jo

Geändert von jobo ( 5. Okt 2011 um 12:43 Uhr) Grund: Korrektur
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 12:43
Im letzten Fall gehören glaub ich runde Klammern um das Select
Das Handbuch sagt, so isses!

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
 
#9

AW: To_Date wird nicht erkannt

  Alt 5. Okt 2011, 12:46
Also..

Weder QuotedStr, noch Query.Sql.Add('AND a.IDNR LIKE ''%'+Variable+''' '); hat geklappt. Wenn ich bei Oracle ein AS benutze, sagt er mir das ich Syntaxfehler vorliegt. Irgendwie finde ich das ganze seltsam :/

PS:

Momentane Version:

Delphi-Quellcode:

 Query.Sql.Add('CREATE TABLE '+Tabelle+' ( Nummer real, IDNR real, IDNR2 real) ');
 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;

Geändert von fanavity ( 5. Okt 2011 um 12:49 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:51 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 by Thomas Breitkreuz