Einzelnen Beitrag anzeigen

delphin

Registriert seit: 21. Aug 2003
Ort: Chemnitz
29 Beiträge
 
Delphi 7 Professional
 
#5

AW: Suche in Datenbank (TTable) mit Joker am Anfang

  Alt 21. Okt 2011, 13:34
Hallo joachimd,

Suche ich aber mit Joker am Anfang der Art '*mann'
Delphi-Quellcode:
//Suche mit Joker am Anfang via
Table1.Filtered:=false;
Table1.Filter:='Name=''*mann''';
Table1.Filter:='';
bleibt die DBGrid-Liste leer.
probiere mal den $-Operator stattdessen: (Text $ Feld)
Delphi-Quellcode:
//Suche mit Joker am Anfang via
Table1.Filtered:=false;
Table1.Filter:='''mann'' $ Name';
Table1.Filter:='';
Ist jetzt der Spaltenname und der Suchbegriff nicht vertauscht?

Meine Tabellenspalte heißt ja name und gesucht werden alle Namen mit '*mann*' an irgeneiner Stelle.
So bekomme ich jedenfalls einen Laufzeitfehler:

Und mit der Sucher der Art:
Delphi-Quellcode:
Filtered:=false;
Table1.Filter:='Name=''$mann''';
Filtered:=true;
bleibt mein DBGrid auch leer.

Zitat:
mit SQL musst Du wahrscheinlich beide Seiten betrachten:

Delphi-Quellcode:
//Suche mit Joker am Anfang via
with Query1 do
begin Close;
      SQL.Text := 'SELECT * FROM BESTAND WHERE (Name like :suche)';
      ParamByName('suche').asString := '%mann%';
      Open;
end;
Bei der Suche mit TQuery tritt genau wie mit der Suche '*mann' keinerlei Filterwirkung auf dem DBGrid ein. Ich bekomme alle Einträge der Liste angezeigt.

Ich denke, der Fehler steckt irgendwo in meiner Verknüpfung von TQuery mit TTable bzw. DBGrid.

Trotzdem vielen Dank
Gruß Gerd
  Mit Zitat antworten Zitat