![]() |
Re: LIKE
Verwende SQL SERVER
|
Re: LIKE
Versuch es mal mit Klammerung der Filter
Delphi-Quellcode:
Grüße
SELECT * FROM FIRMA WHERE (firmen_plz LIKE '+ QuotedStr(str_1) + ') OR (firmen_bez LIKE ' + QuotedStr(str_2) + ') order by firmen_bez
Mikhal |
Re: LIKE
hab ich auch schon versucht aber leider funktionierts auch nicht
NICHT OR sondern AND aber is ja egal, da die beiden bei mir das gleiche zurückgeben |
Re: LIKE
Also, ich habs gerade mal unter MS-SQL getestet und auch da funktioniert es wie erwartet. Von daher behaupte ich mal, dass das Statement in Ordnung ist, aber mit deinen Werten etwas nicht stimmt. Hast du mal überprüft, ob die Werte am Ende auch korrekt bespielt sind? Evtl. mal im Profiler, zumindest aber im Debugger anschauen!
|
Re: LIKE
Statement und werte sind in ordnung
ich hab nur das problem das die 2 das gleiche zurückliefern, ist das bei LIKE normal? SELECT * FROM FIRMA WHERE firmen_plz LIKE '+ QuotedStr(str_1) + ' OR firmen_bez LIKE ' + QuotedStr(str_2) + ' order by firmen_bez SELECT * FROM FIRMA WHERE firmen_plz LIKE '+ QuotedStr(str_1) + ' AND firmen_bez LIKE ' + QuotedStr(str_2) + ' order by firmen_bez |
Re: LIKE
Nein. Außer bei Sonderfällen, die wir aber hier nicht betrachten.
|
Re: LIKE
Nein, ist es nicht.
Bei MS SQL solltest Du zwingend die Platzhalter verwenden. Teste die Statements mal einzeln (also nur den Part mit 9 in der PLZ und dann nur den Part mit 'sch' im Namen z.B.). Wenn die funktionieren, dann muss eine And-Verknüpfung der beiden Teile auch funktionieren. Ich denke das durch das fehlen der Platzhalter die Abfragen unscharf werden und daher ungewollte Ergebnisse liefern. |
Re: LIKE
einzeln gehen sie. ich habs bereits getestet
was meinst du mit platzhalter Parameter? ich bin am verzweifeln |
Re: LIKE
Hast Du mal probiert im Query Analyzer die Abfrage so auszuführen, also ohne Variablen?
Probier doch mal per ODBC das ganze in Access (oder irgendwas anderem) auszuführen. Auch bei mir kommen unterschiedliche Werte mit AND oder OR raus. |
Re: LIKE
Das Statement ist definitiv in Ordnung. Es funktioniert ja auch unter MS-SQL. Habs ja sogar getestet. Also muss es an falschen/fehlenden Werten liegen.
Ansonsten bau das Statement mal hardcoded rein. Also
Delphi-Quellcode:
'SELECT * FROM FIRMA WHERE firmen_plz LIKE ''%9%'' OR firmen_bez LIKE ''%sch%' order by firmen_bez'
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 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