AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme mit dem Filterstring
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit dem Filterstring

Ein Thema von aladin60 · begonnen am 10. Jan 2009 · letzter Beitrag vom 9. Mär 2009
Antwort Antwort
Seite 1 von 3  1 23      
aladin60

Registriert seit: 12. Mär 2008
Ort: Sachsen-Anhalt
45 Beiträge
 
Delphi 2006 Personal
 
#1

Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:17
Datenbank: MSSQL • Version: 2005 • Zugriff über: ADO
Hallo Ihr Wissenden,

frohes neues Jahr wünsche Ich Euch noch. Der Grund meines Auftrittes ist jedoch ein Problem, bei dessen Lösung ich Hilfe brauche.

Ich filtere eine Tabelle folgendermaßen:

Filter:=''(Archiv = ''false'') AND (Betreff LIKE '''+'%'+SS+'%'OR Notiz LIKE '''+'%'+SS+'%'')' was mit dem Fehler "Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereiches oder sind unvereinbar." endet.

Hierbei ist "SS" der zu suchende String. Lasse ich die Klammern weg, gibt es keine Fehlermeldung, es wird auch gefiltert aber natürlich mit dem falschen (logischen) Ergebnis.

Seht Ihr mein Versagen?

Bernd.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:18
Versuch mal
Filter:=''(Archiv = ''false'') AND ((Betreff LIKE '''+'%'+SS+'%'') OR ( Notiz LIKE '''+'%'+SS+'%''))'
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:21
Hallo,

ich kann mich auch irren, aber gehört zu Beginn nicht nur ein Hochkomma hin, da du ja einen String zuweisen möchtest?

Also statt

Filter := ''( // ... so

Filter := '( // ... Grüße, Matze
  Mit Zitat antworten Zitat
aladin60

Registriert seit: 12. Mär 2008
Ort: Sachsen-Anhalt
45 Beiträge
 
Delphi 2006 Personal
 
#4

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:31
Hatte ich auch schon, muss aber wohl so ein:

 Filter:='(Archiv = ''false'') AND ((Betreff LIKE '''+'%'+SS+'%'') OR ( Notiz LIKE '''+'%'+SS+'%''))' Sieht dann so aus: (Archiv = 'false') AND ((Betreff LIKE '%such%') OR (Notiz LIKE '%such%'))


...aber gleiches Ergebnis.

Bernd.

@Matze: Hast Recht, war aber nur ein Schreibfehler.
  Mit Zitat antworten Zitat
aladin60

Registriert seit: 12. Mär 2008
Ort: Sachsen-Anhalt
45 Beiträge
 
Delphi 2006 Personal
 
#5

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:46
Ich werde verrückt, probehalber habe ich das OR in der Klausel mal durch AND ersetzt:

Filter:='(Archiv = ''false'') AND (Betreff LIKE '''+'%'+SS+'%'' AND Notiz LIKE '''+'%'+SS+'%'')' ..da kommt kein Fehler. Ich weiß nicht weiter...

Bernd.


[edit=Matze]Hab den Beitrag mal neu abgesendet. Irgendwie wird/wurde das DP-Layout zerstört. MfG, Matze[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:50
Verwende mal QuotedStr zum Einschliessen von Strings in Hochkomma
Markus Kinzler
  Mit Zitat antworten Zitat
aladin60

Registriert seit: 12. Mär 2008
Ort: Sachsen-Anhalt
45 Beiträge
 
Delphi 2006 Personal
 
#7

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 17:56
...gleiches Ergebnis: Mit OR Fehlermeldung, mit AND geht es, aber logisch falsch.

Filter:='(Archiv = '+QuotedStr('false')+') AND (Betreff LIKE '+QuotedStr('%'+SS+'%')+' OR Notiz LIKE '+QuotedStr('%'+SS+'%')+')' Bernd.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 18:02
Bersuch es doch nochmal zu Klammern
Markus Kinzler
  Mit Zitat antworten Zitat
WInfo

Registriert seit: 3. Jan 2009
36 Beiträge
 
#9

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 18:07
Moin Moin aladin60,

(1) gibts denn beim Filter einen Like, (2) müsst nicht statt % ein * kommen und (3) ist die partielle Suche in den Filteroptions aktiviert?
  Mit Zitat antworten Zitat
aladin60

Registriert seit: 12. Mär 2008
Ort: Sachsen-Anhalt
45 Beiträge
 
Delphi 2006 Personal
 
#10

Re: Probleme mit dem Filterstring

  Alt 10. Jan 2009, 18:11
habe ich...

 Filter:='(Archiv = '+QuotedStr('false')+') AND ((Betreff LIKE '+QuotedStr('%'+SS+'%')+') OR (Notiz LIKE '+QuotedStr('%'+SS+'%')+'))' gleiches -schlechtes- Ergebnis.

Inzwischen habe ich unter SQL (Management Studio Express) gleiches getan (mit dem resultierenden String). Es geht mit der doppelten Klammerebene -(..) AND ((..) OR (..))- genauso wie mit der einfachen Klammerung -(..) AND (.. OR ..)- einwandfrei.

Bernd.

@ WInfo: Einzeln gehen alle Statements wunderbar, % ist richtig, es gibt auch ein LIKE. Trotzdem DANKE.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 21:46 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