![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: Zeos 6.5
SQL Befehl kennt das Feld nicht
Liste der Anhänge anzeigen (Anzahl: 1)
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:
Fehlermeldung:
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; [edit=MrSpock]Schließendes Code Tag eingefügt. Mfg, MrSpock[/edit] |
Re: SQL Befehl kennt das Feld nicht
Wie heißt den das Feld SCANCODE oder SCanCODE?
|
Re: SQL Befehl kennt das Feld nicht
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 |
Re: SQL Befehl kennt das Feld nicht
Es kommt darauf an. FireBird unterstützt nämlich casesensitive Tabellen/Feldnamen. wenn dies aktiviert ist, muß man diese Quoten.
|
Re: SQL Befehl kennt das Feld nicht
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 |
Re: SQL Befehl kennt das Feld nicht
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. |
Re: SQL Befehl kennt das Feld nicht
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. |
Re: SQL Befehl kennt das Feld nicht
Zitat:
|
Re: SQL Befehl kennt das Feld nicht
Funktioniert denn
SQL-Code:
dSQL := 'SELECT SCanCODE from IDOC_REAL';
|
Re: SQL Befehl kennt das Feld nicht
Zitat:
SQL-Code:
interpretiert. Deshalb ja meine Frage, wie das Feld in der Dtenbank heißt.
SELECT SCANCODE from IDOC_REAL;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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-2025 by Thomas Breitkreuz