![]() |
Datenbank: FB • Version: 2.1 • Zugriff über: IBExpert
Tabellenname muss in Anführungszeichen geschrieben werden
Hallo,
ich arbeite mit FB und eine Tabelle in einer Datenbank muss in Anführungszeichen geschrieben werden damit sie im IBExpert funktioniert. Warum ist das so?
SQL-Code:
Andere Tabellen können einfach mit:
SELECT * FROM "MW_Test“ // geht
SELECT * FROM MW_Test // geht nicht
SQL-Code:
aufgerufen werden.
SELECT * FROM MW
Bis bald Chemiker |
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Groß- und Keinschreibung?! ;) Wenn du im Tabellennamen alles groß geschriebeb hast, so sollte es auch ohne "" gehen, aber dann wird quasi immer automatisch eine UpperCase gemacht. Zumindest ist das bei Oracle 9.x so und ich denke, dass das hier auch der Fall sein wird.
|
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Hallo s.h.a.r.k,
das kann gut möglich sein. Merkwürdig ist nur das wenn ich versuche eine weitere Tabelle anzulegen mit kleine Buchstaben das sie jetzt automatisch groß geschrieben werden. Bis bald Chemiker |
AW: Tabellenname muss in Anführungszeichen geschrieben werden
In IBExpert ist doch ein Punkt "allways capitalize..." Da fängts an. Weiterhin gilt : einmal " immer " !
|
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Ich muss ganz ehrlich sagen, dass ich das mit den " eingeführt habe, da es einfach besser lesbar ist imho, obwohl es an ein paar Stellen mehr Schreibarbeit bedeutet.
|
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Hallo Chemiker,
ich mache es auch wie s.h.a.r.k, da es einfach besser zu lesen ist. Man kann direkt erkennen wo einen Tabelle etc. zu finden ist. Und IBExpert macht das mit dem Befehl "Immer Großschreiben" halt automatisch. Gruß Jens |
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Die "" bewirken das Klein-/Großschreibung unterschieden wird. Man muss ein solch angelegte Tabelle auch immer mit "" und der idetischen Groß-/Kleinkombination schreiben.
SQL-Code:
ist was anderes als
Select * from "Tabelle";
SQL-Code:
oder
Select * from "TABELLE";
SQL-Code:
Man sollte sich deshalb den Einsatz sehr überlegen.
select * from "tabelle";
|
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Mir fällt spontan nur ein Grund für eine solche Vorgehensweise ein: wenn man (aus welchen Gründen auch immer) mehrere Tabellen mit dem gleichen Namen deklarieren will, die sich nur in der Groß- und Kleinschreibung unterscheiden. Aber generell sollte man IMHO möglichst darauf verzichten, da man sich sonst unnötige Fehlerquellen einhandelt. Und besser lesbar finde ich das nicht, ich kann den Tabellennamen ohne Anführungszeichen ja schreiben, wie ich lustig bin.
|
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Nach anfänglichen Problemen bei diesem Thema bin ich auch zur always capitalize Methode übergegangen.
Zum Einen kann ich die Queries so einfacher zwischen MySQL und Firebird umschalten, zum Anderen schließe ich mich Detlef an - Groß-Kleinschreibung ist mMn eine unnötige und vermeidbare Fehlerquelle. |
AW: Tabellenname muss in Anführungszeichen geschrieben werden
Zuerst mal das hier lesen :
![]() Und hierzu : Zitat:
Delphi-Quellcode:
Man würde das zwar sowieso besser parametrisieren, aber um das "TABELlE" käme man trotzdem kaum herum. Wer aufpasst, der merkt, dass es sich hier sogar um 2 verschiedene Tabellen handelt. Das sind Fehler, die man auf den ersten Blick gar nicht bemerkt. Man muss auch ...FieldByName ('"NR"'); schreiben. Völlig überflüssig. Die für Delphi nötigen doppelten ' sind zwar lästig, aber ist eines zuwenig / zuviel da, wird nicht compiliert und das muss eben korrigiert werden. Schreibfehler in einem Feldnamen, die werden aber lediglich quittiert durch Fehlermeldungen zur Laufzeit. Wer sich eine solche Fehlerquelle bewusst zumutet, der ist selber Schuld. Die Qualität des Quelltextes, wo "" verwenden werden MÜSSEN (jetzt egal, ob DB oder im Delphi-Programm), die würde ich als mangelhaft einstufen. 8-) Und wer schon mal mit Linux zu tun hatte, der hat bestimmt schon über die dämliche Gross/Kleinschreibung und die dadurch verursachren Fehler geflucht. :mrgreen:SuchDS.SelectSQL.Add ('SELECT * FROM "TABELLe" WHERE UPPER ('+BezFeld +')'+ LIKE UPPER (''%' + edSuch.Text + '%'') ORDER BY NR'); Im deutschen IBExpert steht übrigens : "Datenbankobjektnamen immer großschreiben". Es geht eben darum, die "" nicht zu brauchen. Das gilt für wohl weit über 95 % der DB-Programmierer. Soweit ich weiss, wurden die "" in FB nur zugelassen wegen Kompatibilität zu vorhandenen anderen DBs. Wenn ich da ein Script mit Daten zum FB-Import habe und die Vorgänger-DB braucht die "", dann gehts eben auch so. Ich selber würde die "" allerdings direkt eliminieren. P.S.: sehe gerade, dass der Text hier etwas komisch aussieht. Auch das dürften Probleme durch "''"'"'"'"''" sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 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