AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LIKE

Ein Thema von Schodn · begonnen am 11. Jul 2005 · letzter Beitrag vom 11. Jul 2005
Antwort Antwort
Seite 2 von 3     12 3      
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#11

Re: LIKE

  Alt 11. Jul 2005, 09:23
Verwende SQL SERVER
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: LIKE

  Alt 11. Jul 2005, 09:26
Versuch es mal mit Klammerung der Filter

SELECT * FROM FIRMA WHERE (firmen_plz LIKE '+ QuotedStr(str_1) + ') OR (firmen_bez LIKE ' + QuotedStr(str_2) + ') order by firmen_bez Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#13

Re: LIKE

  Alt 11. Jul 2005, 09:29
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
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#14

Re: LIKE

  Alt 11. Jul 2005, 09:30
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!
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#15

Re: LIKE

  Alt 11. Jul 2005, 09:36
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
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: LIKE

  Alt 11. Jul 2005, 09:42
Nein. Außer bei Sonderfällen, die wir aber hier nicht betrachten.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)
Online

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#17

Re: LIKE

  Alt 11. Jul 2005, 09:44
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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#18

Re: LIKE

  Alt 11. Jul 2005, 09:49
einzeln gehen sie. ich habs bereits getestet

was meinst du mit platzhalter Parameter?

ich bin am verzweifeln
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#19

Re: LIKE

  Alt 11. Jul 2005, 09:49
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.
Catbytes
  Mit Zitat antworten Zitat
Benutzerbild von Treffnix
Treffnix

Registriert seit: 25. Jun 2003
Ort: AC
740 Beiträge
 
Delphi 7 Professional
 
#20

Re: LIKE

  Alt 11. Jul 2005, 09:50
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

'SELECT * FROM FIRMA WHERE firmen_plz LIKE ''%9%'' OR firmen_bez LIKE ''%sch%' order by firmen_bez'
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 08:58 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