Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird 2.1 SQL - case-sensitive? (https://www.delphipraxis.net/134000-firebird-2-1-sql-case-sensitive.html)

Grolle 13. Mai 2009 19:33

Re: Firebird 2.1 SQL - case-sensitive?
 
Zitat:

Zitat von Hansa
Ich glaube kaum, dass so etwas "," Also genau diese drei Zeichen im Namen vorkommen. Wozu immer diese QuotedStr ? :wall: Das macht das Ganze, nebenbei gesagt, sowieso noch dazu case-sensitiv. Edit es sind sogar 4 Zeichen, also ", ". 8)

So klappts ja aber auch nicht:
SQL-Code:
SELECT LAST_NAME, ID, GENDER FROM CONTACTS WHERE UPPER(LAST_NAME) LIKE UPPER(''%' + s + '%'')
Charset und Collation sind beide ISO8859_1 :?

Hansa 13. Mai 2009 19:54

Re: Firebird 2.1 SQL - case-sensitive?
 
Du kommst nicht drumrum, das SelectSQL.Text anzeigen zu lassen. ShowMessage etc. Dann würde man wohl direkt sehen, wo der Haken ist. Die QuotedStr für das , machen eventuell noch nicht mal was. Aber du verkettest das ja u.a. mit Firstname. Weiß der Teufel, was da im Endeffekt dabei rauskommt. Wenn der ganze Ausdruck durch die "" case-sensitiv wird, wie vermutet, na dann ist alles klar. :twisted: Öffne mal die DB im IBExpert und gucke, wie die aussieht. Bei mir in der DB ist jedenfalls von " nirgendwo was zu sehen und im Source wirst du kein QuotedStr finden.

Grolle 13. Mai 2009 19:58

Re: Firebird 2.1 SQL - case-sensitive?
 
Hi,

habe es jetzt so getauscht und das klappt!?!:
SQL-Code:
... WHERE UPPER(LAST_NAME) LIKE ''%' + AnsiUpperCase(s) + '%'' AND STATE=1 ORDER BY LAST_NAME'
Jetzt werde ich das mal parametrisieren :mrgreen:

Viele Grüße ...

mkinzler 13. Mai 2009 20:09

Re: Firebird 2.1 SQL - case-sensitive?
 
Ich würde statt
SQL-Code:
LIKE '%<Suchstring>%'
noch
SQL-Code:
CONTAINING '<Suchstring>'
nehmen

Grolle 13. Mai 2009 20:15

Re: Firebird 2.1 SQL - case-sensitive?
 
Damit könnte ich aber keine % innerhalb des Suchstrings platzieren, oder? Also
SQL-Code:
LIKE '%<Such%ring>%'
Viele Grüße ...

mkinzler 13. Mai 2009 20:19

Re: Firebird 2.1 SQL - case-sensitive?
 
Zitat:

Zitat von Grolle
Damit könnte ich aber keine % innerhalb des Suchstrings platzieren, oder? Also
SQL-Code:
LIKE '%<Such%ring>%'
Viele Grüße ...

Brauchst man auch nicht, da der Suchsstring an beliebiger Stelle des Feldes stehen kann

Hansa 13. Mai 2009 20:30

Re: Firebird 2.1 SQL - case-sensitive?
 
Gibt es einen wichtigen Vorteil, CONTAINING zu verwenden ? Sehe gerade, dass bei mir an solchen Stellen noch LIKE %XY% steht. @Grolle : da stimmt trotzdem was nicht. Mache diese verfluchten QuotedStr endlich weg. :mrgreen:

mkinzler 13. Mai 2009 20:33

Re: Firebird 2.1 SQL - case-sensitive?
 
Zitat:

Gibt es einen wichtigen Vorteil, CONTAINING zu verwenden ?
Ja man kann auf die % verzichten

Hansa 13. Mai 2009 20:35

Re: Firebird 2.1 SQL - case-sensitive?
 
Jo, echt sehr wichtig. :mrgreen:

Grolle 13. Mai 2009 20:39

Re: Firebird 2.1 SQL - case-sensitive?
 
Zitat:

Zitat von mkinzler
Ja man kann auf die % verzichten

Die sind aber für den in #15 genannten Suchstring hilfreich :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Seite 2 von 3     12 3      

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