AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Tabellenname muss in Anführungszeichen geschrieben werden
Thema durchsuchen
Ansicht
Themen-Optionen

Tabellenname muss in Anführungszeichen geschrieben werden

Ein Thema von Chemiker · begonnen am 22. Jun 2010 · letzter Beitrag vom 22. Jun 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#1

Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 01:21
Datenbank: FB • Version: 2.1 • Zugriff über: IBExpert
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:
SELECT * FROM "MW_Test“ // geht
SELECT * FROM MW_Test // geht nicht
Andere Tabellen können einfach mit:

SELECT * FROM MW aufgerufen werden.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 01:29
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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 01:46
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 02:30
In IBExpert ist doch ein Punkt "allways capitalize..." Da fängts an. Weiterhin gilt : einmal " immer " !
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 02:59
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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 06:23
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
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 06:25
Die "" bewirken das Klein-/Großschreibung unterschieden wird. Man muss ein solch angelegte Tabelle auch immer mit "" und der idetischen Groß-/Kleinkombination schreiben.

Select * from "Tabelle"; ist was anderes als Select * from "TABELLE"; oder select * from "tabelle"; Man sollte sich deshalb den Einsatz sehr überlegen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 09:10
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von alphaflight83
alphaflight83

Registriert seit: 5. Jun 2008
Ort: Würzburg
148 Beiträge
 
Delphi 12 Athens
 
#9

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 10:33
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.
Make me a sandwich! - What? Make it yourself. - Sudo make me a sandwich! - Okay

Geändert von alphaflight83 (22. Jun 2010 um 10:35 Uhr)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

AW: Tabellenname muss in Anführungszeichen geschrieben werden

  Alt 22. Jun 2010, 13:55
Zuerst mal das hier lesen :

http://www.firebirdfaq.org/faq76/

Und hierzu :

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.
Da kann man fast nur noch den Kopf schütteln. Man sehe sich das hier mal an :

Delphi-Quellcode:

SuchDS.SelectSQL.Add ('SELECT * FROM "TABELLe" WHERE UPPER ('+BezFeld +')'+ LIKE UPPER (''%' + edSuch.Text + '%'') ORDER BY NR');
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. 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.

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.
Gruß
Hansa

Geändert von mkinzler (22. Jun 2010 um 16:25 Uhr) Grund: Leerzeile für bessere Lesbarkeit eingefügt
  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 15:36 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