AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Befehl kennt das Feld nicht
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Befehl kennt das Feld nicht

Ein Thema von nachtstreuner60 · begonnen am 14. Mai 2007 · letzter Beitrag vom 15. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
nachtstreuner60

Registriert seit: 15. Jan 2007
Ort: Eisenach
54 Beiträge
 
Delphi 7 Professional
 
#1

SQL Befehl kennt das Feld nicht

  Alt 14. Mai 2007, 16:26
Datenbank: Firebird • Version: 1.5 • Zugriff über: Zeos 6.5
Hallo liebe Delphianer,

habe mal wieder ein SQL-Abfrageproblem.

Folgender SQL Befehl liefert eine Fehlermeldung, ich denke mal, das der Feldname schuld dran ist
vielleicht ein reserviertes Wort:

Delphi-Quellcode:
 dSQL := 'SELECT * from IDOC_REAL where AKTION = '+
        QuotedStr('ABHOL')+' and SCanCODE like '+
        Quotedstr(edGANG.TEXT);

with dModulREAL do begin
     zQUeryReal.SQL.Clear;
     reditSQL.Clear;
     zQueryReal.SQL.TEXT := dSQL;
     zQueryReal.open;
     rEditSQL.Lines.Add(zQueryReal.SQL.Text);
end;
Fehlermeldung:

[edit=MrSpock]Schließendes Code Tag eingefügt. Mfg, MrSpock[/edit]
Miniaturansicht angehängter Grafiken
errorcode_613.jpg  
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL Befehl kennt das Feld nicht

  Alt 14. Mai 2007, 16:33
Wie heißt den das Feld SCANCODE oder SCanCODE?
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: SQL Befehl kennt das Feld nicht

  Alt 14. Mai 2007, 17:26
Hallo Markus,

der Feldname ScanCODE wird gemäß den Regeln der SQL Spezifikation in Großbuchstaben umgewandelt und erst dann in den Systemkatalog aufgenommen. Die Schreibweise der Feldnamen ist egal. Die Fehlermeldung behauptet, dass SCANCODE kein Feld der Tabelle IDOC_REAL ist - und ich glaube die SQL-Engine hat Recht.

Freundliche Grüße
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL Befehl kennt das Feld nicht

  Alt 14. Mai 2007, 17:49
Es kommt darauf an. FireBird unterstützt nämlich casesensitive Tabellen/Feldnamen. wenn dies aktiviert ist, muß man diese Quoten.
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SQL Befehl kennt das Feld nicht

  Alt 14. Mai 2007, 18:26
Hallo Markus,

ich dachte immer, FireBird strebe nach SQL-Konformität. Im SQL-Standard steht es genau umgekehrt, wenn ich mich nicht irre: Wird ein Identifier in Quotes (delimited identifier) angegeben, dann ist dessen Schreibweise zu beachten. Ist das bei FB wirklich anders herum?

Freundliche Grüße
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: SQL Befehl kennt das Feld nicht

  Alt 14. Mai 2007, 19:26
Hallo Achim,
Vielleicht mißverstehen wir uns. wenn man nicht quoted wird in Großbuchstaben umgewandelt. Es könnte ja aber möglich sein, das das Feld mit Quotes angelegt wurde.
Ich würde aber auf das Feature verzichten.
Markus.
Markus Kinzler
  Mit Zitat antworten Zitat
nachtstreuner60

Registriert seit: 15. Jan 2007
Ort: Eisenach
54 Beiträge
 
Delphi 7 Professional
 
#7

Re: SQL Befehl kennt das Feld nicht

  Alt 15. Mai 2007, 07:36
Hallo marabu & mKinzler

vielen Dank für eure Antworten. Was könnte ich nun ausprobieren ?

Habe es auch schon mit vorangestelltem Tabellennamen ausprobiert, funktioniert auch nicht

z.B. Idoc_Real.ScanCode , das ist übrigens auch die schreibweise wie es in der Tabelle angelegt ist.

{ScanCode}

was bedeutet Quoten bei Feldnamen,in Hochkomma stellen ?

etwa so ''ScanCode'' ?

Vielen Dank schonmal im voraus.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: SQL Befehl kennt das Feld nicht

  Alt 15. Mai 2007, 07:46
Zitat:
was bedeutet Quoten bei Feldnamen,in Hochkomma stellen ?

etwa so ''ScanCode'' ?
Nein "ScanCode"
Markus Kinzler
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#9

Re: SQL Befehl kennt das Feld nicht

  Alt 15. Mai 2007, 07:48
Funktioniert denn

 dSQL := 'SELECT SCanCODE from IDOC_REAL';
Uwe
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: SQL Befehl kennt das Feld nicht

  Alt 15. Mai 2007, 07:49
Zitat von uwewo:
Funktioniert denn

 dSQL := 'SELECT SCanCODE from IDOC_REAL';
Würde dann als SELECT SCANCODE from IDOC_REAL; interpretiert. Deshalb ja meine Frage, wie das Feld in der Dtenbank heißt.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:27 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