![]() |
Where als Spaltenname
hallo
ich greife mit den Zeos komponenten auf eine access-Datenbank zu darin ist eine Tabelle mit einer Spalte mit dem Spaltenname "Where" (also ohne die "") nun, bei jeder select abfrage oder Alter Table nörgelt er rum. wie mach ichs? es kommen immer solche abfragen zustande: z.B. SELECT Where FROM Tabellenname WHERE Where="5" mit " oder ' hab ichs schon probiert er legt dann immer eine Spalte mit Namen: "Where" oder 'Where' an :?: :?: :?: |
Re: Where als Spaltenname
Hai der-c
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXIS". Die einfachste Lösung: Verwende nie reservierte Bezeichner der Datenbank als Spaltennamen! |
Re: Where als Spaltenname
hi,
war das nicht bei SQL so, dass man spaltennamen usw. in ` setzt?
SQL-Code:
so in etwa.
select * from `tab` where `where` = 'da'
Aenogym |
Re: Where als Spaltenname
wow, sogar mit Begrüßung, danke
so weiter, es liegt aber nicht in meiner hand welche namen der benutzter meines programmes verwendet oder soll ich alle SQL-Tags verbieten, das sind ja recht viele oder? @ Aenogym hmm, das hab ich noch nicht getstet werds mal versuchen... |
Re: Where als Spaltenname
Zitat:
Zitat:
Weisst Du nicht was nach dem nächsten Treiberupdate passiert. |
Re: Where als Spaltenname
Das is nen Argument.
Na da werde ich wohl in den sauren Apfel (oder Tastatur) beissen müssen. Danke :dp: |
Re: Where als Spaltenname
Wenn die Tabelle nur von deinem Programm erstellt/verwendet wird und du somit auf die Spaltennamen Einfluß nehmen kannst, könntest du ja auch einfach ein Prefix vor die Spaltennamen setzen, damit ist dann der Name relativ egal. (nur Leer- und Sonderzeichen machen dann noch Probleme)
Code:
Für die Leerzeichen gibt es allerding die bekannte Lösung ^^
SELECT Tab_Where FROM Tabellenname WHERE Col_Where="5"
Code:
SELECT [b][color=red]`[/color][/b]Tab_Where[b][color=red]`[/color][/b] FROM Tabellenname WHERE [b][color=red]`[/color][/b]Col_Where[b][color=red]`[/color][/b]="5"
|
Re: Where als Spaltenname
Ich musste mal, weil ich SQL in eine recht große DB-Anwendung einführen wollte, die gesamte DB, und tausende Zeilen langen Code anpassen, da ein Feld "TIME" hieß :roll:. Vorher wurde halt nicht mit SQL gearbeitet, sondern mit Filtern und .FieldByName... das war ziemlich ekelig, und den Hauptentwickler des Programms hab ich dann erst mal zurecht gestutzt :mrgreen:. Man spart sich Ärger wenn man von vorne herein SQL-Tokens ausschließt/ausschließen lässt.
Gruss, Fabian |
Re: Where als Spaltenname
@ himitsu
das ist mir auch so eingefallen ABER, mein programm ist fast fertig und es währe recht aufwendig diese sache einzufügen, wenns mir früher eingefallen wär hätt ichs so gemacht |
Re: Where als Spaltenname
Zitat:
Im Ernst: Die einzige saubere Lösung ist es das anzupassen. Dann musst du eben ein Mal in den sauren Apfel beissen, vergisst das aber dann nie mehr. Und ich spreche, wie gesagt, aus ganz eigener Erfahrung. :) \\edit: Falsches Zitat genommen :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 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