![]() |
Datenbank: TClientDataSet • Zugriff über: ??
Probleme mit TClientDataSet
Hallo,
ich möchte die Komponente "TClientDataSet" nutzen. Das scheint auch teilweise zu gehen, wenn ich aber einen Teilstring finden will, der innerhalb des Feldes ist, bekomme ich keine Daten zurück. Beispiel: Feld = 'Das ist ein Test' Suchmaske = 'ein' Dann bekomme ich immer eine leere Menge zurück. Ich habe das auch schon mit 'ein*' und '*ein' und '*ein*' versucht, aber leider erfolglos. Da meine Daten nur lokal sind auch nicht die Riesenmengen, wollte ich die Komponente TClientDataSet nutzen und keine "Riesendatenbank" extra installieren und anlegen.
Delphi-Quellcode:
CDS.Filtered:=False; CDS.FilterOptions := [foCaseInsensitive]; //Groß/Kleinschreibung ignorieren CDS.Filter:=''; s:=EName.Text; if s<>'' then begin CDS.Filter:='['+CDS.FieldDefs[0].Name+'] = ' + QuotedStr(s+'*'); end; s:=EIdent.Text; if s<>'' then begin CDS.Filter:='['+CDS.FieldDefs[1].Name+'] = ' + QuotedStr(s+'*'); end; ShowMessage(CDS.Filter); CDS.Filtered:=true; |
Re: Probleme mit TClientDataSet
Verstehe nicht wirklich wo dein Problem liegt, deswegen kann ich nur vermuten, dass du versuchst ein Query aufbereiten willst.
Versuch statt dem Sternchen '*', ein Prozentzeichen '%' zu nehmen ;-) Wenn du aber schon in dem Ergebnis nach dem Zeichen suchen willst, dann ggfs. mit POS() arbeiten :) |
Re: Probleme mit TClientDataSet
Ich kenne die genaue Funktion von '=' in Verbindung mit dem '*' nicht. Aber ich würde die OH zu Hilfe nehmen, und mal schauen, was die 'Filter'-Eigenschaft noch so alles kann.
Vielleicht bringt das ja etwas:
Delphi-Quellcode:
@DIET3RIX: Die OH zu TClientDataset.Filter erwähnt aber das Sternchen in Verbindung mit '='.
ClientDataset.Filter := Format('%s LIKE %s',[ClientDataset.Fields[0].Name, QuotedStr('%'+edit1.Text+'%')]);
|
Re: Probleme mit TClientDataSet
Danke für die Beispiele.
In der Hilfe stand nur was vom einem Stern, der dann auch Teilstrings suchen kann. Nun habe ich "like" probiert und sieheda, es geht. Vielen Dank nochmals. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr. |
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