Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TAdsQuery - Filter und Wilcard (https://www.delphipraxis.net/160340-tadsquery-filter-und-wilcard.html)

bwolf 9. Mai 2011 11:09

Datenbank: ADS • Version: 10.10 • Zugriff über: TDataSet Descendant

TAdsQuery - Filter und Wilcard
 
Hi,

ich habe eine TAdsQuery und will einen Filter mit einer Wildcard am Anfang und am Ende des Suchbegriffes setzen.

Folgendes funktioniert:
qTest.Filter := 'Nummer = ' + QuotedStr(edTest.Text + '*');

Wenn ich jetzt aber noch eine Wildcard an den Anfang des Wortes setze, kriege ich immer ein leeres Ergebnis:
qTest.Filter := 'Nummer = ' + QuotedStr('*' + edTest.Text + '*');

Ich habe mir mal die Filter-Optionen angeshen, konnte aber nix finden.
Hat jemand eine Idee?
Danke!

DeddyH 9. Mai 2011 11:12

AW: TAdsQuery - Filter und Wilcard
 
Nicht, dass ich mich mit ADS auskenne, aber bist Du sicher, dass der Stern richtig ist? Klappt es, wenn Du stattdessen das Prozentzeichen nimmst?

bwolf 9. Mai 2011 11:14

AW: TAdsQuery - Filter und Wilcard
 
Hi Deddy,

danke für deine Antwort.
Ja der Stern ist auf jeden Fall richtig. Der erste Filter (mit der Wildcard am Ende) funktioniert ja auch..

Bummi 9. Mai 2011 11:45

AW: TAdsQuery - Filter und Wilcard
 
müsste da nicht like verwendet werden?

bwolf 9. Mai 2011 11:47

AW: TAdsQuery - Filter und Wilcard
 
Like habe ich bereit ausprobiert, spuckt mir nur eine Fehlermeldung aus.
Laut Delphi 2009-Doku ist like anscheinend für Memo-Felder gedacht...

Bummi 9. Mai 2011 11:52

AW: TAdsQuery - Filter und Wilcard
 
Ich verwende zwar ADO und bisweilen Clientdatasets, bei mir funktioniert aber sowohl
Name like '*üll*'
als auch
Name like '%üll%'

für normale Varchar Felder ...

Bernhard Geyer 9. Mai 2011 12:16

AW: TAdsQuery - Filter und Wilcard
 
Im SQL sind eigentlich die Zeichen % und _ Wildcards. Und Wildcardsuche sollte eigentlich nur mit Like-Funktionieren.

Was für eine Fehlermeldung kommt eigentlich?

bwolf 9. Mai 2011 12:21

AW: TAdsQuery - Filter und Wilcard
 
Hallo nochmal,

Also bei der Verwendung von Like bekomme ich folgenden Error:

Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt test.exe ist eine Exception der Klasse EADSDatabaseError mit der Meldung 'qTest: Error 3106: Unsupported operator found in a record filter expression.' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Wenn ich über die AnyDAC Komponenten auf die DB Zugreife, funktioniert das mit dem Filter auch...

Perlsau 9. Mai 2011 12:33

AW: TAdsQuery - Filter und Wilcard
 
Zitat:

Zitat von bwolf (Beitrag 1099680)
Im Projekt test.exe ist eine Exception der Klasse EADSDatabaseError mit der Meldung 'qTest: Error 3106: Unsupported operator found in a record filter expression.' aufgetreten.

Setze den Filter doch einfach im SQL-Statement.

bwolf 9. Mai 2011 12:37

AW: TAdsQuery - Filter und Wilcard
 
Zitat:

Zitat von Perlsau (Beitrag 1099688)
Zitat:

Zitat von bwolf (Beitrag 1099680)
Im Projekt test.exe ist eine Exception der Klasse EADSDatabaseError mit der Meldung 'qTest: Error 3106: Unsupported operator found in a record filter expression.' aufgetreten.

Setze den Filter doch einfach im SQL-Statement.

Auf die Idee bin ich natürlich auch schon gekommen, allerdings müsste ich dann a.) einiges umbauen und b.)würde ich gerne wissen wieso das nicht funktioniert ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 Uhr.
Seite 1 von 2  1 2      

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