Entwickler-Ecke

Datenbanken - Wie geht SQL Befehl mit Leerzeichen im Feldnamen?


JRegier - Fr 10.06.05 13:25
Titel: Wie geht SQL Befehl mit Leerzeichen im Feldnamen?
Hallo, ich habe ein Problem mit Leerzeichen im Feldnamen bei SQL Befehl wie wird das richtig gemacht?


Quelltext
1:
SELECT * FROM tabelle WHERE art nr = 120    // Leerzeichen ein Problem/Fehlermeldung                    


Moderiert von user profile iconChristian S.: Großschreibung aus Titel entfernt


csigg - Fr 10.06.05 13:27

Dieses Problem hat ich heut auch schón so ähnlich, und habs nicht hingekriegt :-(
Würd mich auch mal interessieren wie das geht.


Mottor - Fr 10.06.05 13:51

In Oracle:


Quelltext
1:
SELECT * FROM tabelle WHERE "art nr" = 120                    


Amiga-Fan - Fr 10.06.05 13:58

sowas sollte man besser unterlassen, mach einen Unterstrich wenn es nötig ist. Der Anwender sieht ja die Feldnamen für gewöhnlich auch nicht.


JRegier - Fr 10.06.05 14:13

user profile iconAmiga-Fan hat folgendes geschrieben:
sowas sollte man besser unterlassen, mach einen Unterstrich wenn es nötig ist. Der Anwender sieht ja die Feldnamen für gewöhnlich auch nicht.


Na ja ich bin an einem Projekt dran bei dem ich später kein Einfluß darauf habe
was für Feldnamen gewählt werden! Eine Anwendung für Datenpflege der DB'S (Universal)


hallo - Fr 10.06.05 14:15

Meines Wissens nach dürfte das kein Problem sein:
Beispie:


Quelltext
1:
SELECT * FROM `eine tabelle in der leerzeichen sind` WHERE `feldname mit leerzeichen`='irgendwas'                    


Ich probier das mal aus, ich glabe aber, dass es funktioniert!

EDIT: Ja, funcktioniert!!!!

PS: Ich verwende MYSQL!


JRegier - Fr 10.06.05 14:35

Vielen Dank! Hilft hoffentlich bei allen DB'S oder ist ja evtl. ANSI SQL 99


JRegier - Fr 10.06.05 18:52

user profile iconJRegier hat folgendes geschrieben:
Vielen Dank! Hilft hoffentlich bei allen DB'S oder ist ja evtl. ANSI SQL 99


Vielen Dank hat geklappt!


JRegier - Sa 11.06.05 15:05

user profile iconJRegier hat folgendes geschrieben:
user profile iconJRegier hat folgendes geschrieben:
Vielen Dank! Hilft hoffentlich bei allen DB'S oder ist ja evtl. ANSI SQL 99


Vielen Dank hat geklappt!


Hab doch damit ein Problem!

Also ich hatte erst so gemacht:


Delphi-Quelltext
1:
2:
Query.SQL.Add('SELECT * FROM "'+FTableName+'" WHERE "'+RelKey+'" = :PRM');
Query.ParamByName('PRM').AsInteger := Value;


habe nachher untersucht den ganzen SQL Befehl da war nur der Parameter drin:
Also alles was nach dem = ist!

dann habe ich alles einzel Strings hinzugefügt nun stimmte das SQL Statement
aber es gab wieder ne Fehlermeldung! Habe auch mal versucht " durch ` zu
ersetzen aber das Zeichen war auch ungültig! Welches Zeichen nehme ich denn
um ein Feld/Tabellenname mit Leerzeichen zu umschließen! Ist das DB abhängig??


alzaimar - Sa 11.06.05 15:36

Versuchs mit [ und ]. So gehts bei mssql.