Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi LIKE (https://www.delphipraxis.net/49422-like.html)

Schodn 11. Jul 2005 09:23

Re: LIKE
 
Verwende SQL SERVER

mikhal 11. Jul 2005 09:26

Re: LIKE
 
Versuch es mal mit Klammerung der Filter

Delphi-Quellcode:
SELECT * FROM FIRMA WHERE (firmen_plz LIKE '+ QuotedStr(str_1) + ') OR (firmen_bez LIKE ' + QuotedStr(str_2) + ') order by firmen_bez
Grüße
Mikhal

Schodn 11. Jul 2005 09:29

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

Treffnix 11. Jul 2005 09:30

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!

Schodn 11. Jul 2005 09:36

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

Jasocul 11. Jul 2005 09:42

Re: LIKE
 
Nein. Außer bei Sonderfällen, die wir aber hier nicht betrachten.

Phoenix 11. Jul 2005 09:44

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.

Schodn 11. Jul 2005 09:49

Re: LIKE
 
einzeln gehen sie. ich habs bereits getestet

was meinst du mit platzhalter Parameter?

ich bin am verzweifeln

Catbytes 11. Jul 2005 09:49

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.

Treffnix 11. Jul 2005 09:50

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.
Seite 2 von 3     12 3      

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