Einzelnen Beitrag anzeigen

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