AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit TClientDataSet

Ein Thema von zeras · begonnen am 1. Mär 2009 · letzter Beitrag vom 2. Mär 2009
Antwort Antwort
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#1

Probleme mit TClientDataSet

  Alt 1. Mär 2009, 14:07
Datenbank: TClientDataSet • Zugriff über: ??
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;
Matthias
  Mit Zitat antworten Zitat
DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Probleme mit TClientDataSet

  Alt 1. Mär 2009, 21:43
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
Dieter
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Probleme mit TClientDataSet

  Alt 2. Mär 2009, 07:27
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:
ClientDataset.Filter := Format('%s LIKE %s',[ClientDataset.Fields[0].Name, QuotedStr('%'+edit1.Text+'%')]); @DIET3RIX: Die OH zu TClientDataset.Filter erwähnt aber das Sternchen in Verbindung mit '='.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#4

Re: Probleme mit TClientDataSet

  Alt 2. Mär 2009, 19:03
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.
Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:31 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