Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ClientDataset Filtern (https://www.delphipraxis.net/72791-clientdataset-filtern.html)

Lemi2006 6. Jul 2006 21:20

Datenbank: Interbase • Version: 7.5 • Zugriff über: ADO

ClientDataset Filtern
 
Ich möchte gerne in einem ClientDataSet mit "Filter" Datensätze mit einer bestimmten
Zeichenkette an einer beliebigen Stelle filtern, also analog zu

SQL-Code:
SELECT * FROM [tabelle]
WHERE [spalte] LIKE '%[text]%'
bisher konnte ich aber nur nach Zeichenketten, die am Anfang stehen filtern

Delphi-Quellcode:

CDS.Filter := '[spalte]=''[text]*''';
CDS.Filtered := true;
mit

Delphi-Quellcode:

CDS.Filter := '[spalte]=''*[text]*''';
CDS.Filtered := true;
klappt es leider nicht.

Gibt es da eine Lösung?

chaosben 7. Jul 2006 05:15

Re: ClientDataset Filtern
 
Hi Alexander,

probiers doch mal so:
SQL-Code:
Spalte like '%SUCHMICH%'

xSkaschY 7. Jul 2006 05:22

Re: ClientDataset Filtern
 
Zitat:

Zitat von Lemi2006
bisher konnte ich aber nur nach Zeichenketten, die am Anfang stehen filtern

Delphi-Quellcode:

CDS.Filter := '[spalte]=''[text]*''';
CDS.Filtered := true;

würde dann so ausschauen

SQL-Code:
Spalte like 'SUCHMICH%'

Lemi2006 7. Jul 2006 14:00

Re: ClientDataset Filtern
 
Spitze! Klappt alles. :lol:
Vielen dank. War mir nähmlich nicht sicher ob ich beim
Filtern auch mit 'LIKE' arbeiten kann.

The_Doomed 8. Mai 2008 11:01

Re: ClientDataset Filtern
 
wie kann man dies bei einem Datasetfilter erreichen der aus einer xml ließt ?
also My Base - habs bisher so

Delphi-Quellcode:
database.ClientDataSet1.Filter:='ausgabename=''searchfield.Text*''';
wenn ich das aber auf like ändere brint er mir ne fehlermeldung
weil er dann ni checkt in welcher spalte er suchen soll

The_Doomed 9. Mai 2008 15:58

Re: ClientDataset Filtern
 
push :duck:

mr2 15. Mai 2008 22:17

Re: ClientDataset Filtern
 
Du musst den Filter-String zusammenbauen:

Delphi-Quellcode:
database.ClientDataSet1.Filtered := False;
database.ClientDataSet1.Filter := Format('ausgabename = %s', [QuotedStr(searchfield.Text + '*')]);
database.ClientDataSet1.Filtered := True;
mr2

The_Doomed 16. Mai 2008 06:38

Re: ClientDataset Filtern
 
das klappt auf jeden fall schon mal gut mein prob is aber immer
noch wie ich es hinbekomme dass er nicht immer von den ersten buchstaben ausgeht
sondern wenn ich ein wort "banane" habe (z.b ^^) und dann "ane" er das trotzdem dalässt
und nicht wegfiltert

mr2 17. Mai 2008 21:16

Re: ClientDataset Filtern
 
dann musst Du like verwenden:

Delphi-Quellcode:
database.ClientDataSet1.Filtered := False;
database.ClientDataSet1.Filter := Format('ausgabename like %s', [QuotedStr('%' + searchfield.Text + '%')]);
database.ClientDataSet1.Filtered := True;
mr2

The_Doomed 17. Mai 2008 22:30

Re: ClientDataset Filtern
 
ah ja genau das wars super danke sehr
:bounce1: :bouncing4: :bounce1: :bouncing4:

.....................................


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 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