Hallo Datenbänkler,
ich habe mich in das Thema Datenbanken eingearbeitet und versucht das im Netz verfügbare Demo
http://www.delphi-treff.de/tutorials/datenbanken/ nachzuvollziehen.
Nunmehr habe ich eine Datenbank, in der ich
Delphi-Quellcode:
//LESEN über:
Edit1.Text:=Table1.FieldByName('Name').AsString;
und
Delphi-Quellcode:
//SCHREIBEN über
Table1.Edit;
Table1.FieldByName('Name').AsString:=Edit1.Text;
Table1.Post;
kann.
Auch die SUCHE über
Delphi-Quellcode:
//Suche via
Table1.Filtered:=false;
Table1.Filter:='Name=''Mustermann''';
Table1.Filter:='';
bringt mir in meinem mit der Datenbank verküpften DBGrid die entsprechende Filterung.
Selbst die SUCHE mit Jokern am Ende des Stringes
Delphi-Quellcode:
//Suche mit Joker am Ende via
Table1.Filtered:=false;
Table1.Filter:='Name=''Muster*''';
Table1.Filter:='';
funktioniert und listet alle Namen mit Muster* im DBGrid auf.
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.
Nach nächtlicher Suche habe ich heute morgen einen Kommentar gefunden, dass diese Art Suche nur mit TQuery über
SQL gehen soll.
http://www.delphipraxis.net/images/s...n_rolleyes.gif
Nun verstehe ich aber nicht, ob ich meine bisherige Datenbank inkl. Quelltext auf
SQL umstellen muss oder die Komponente
Query(DBTables) von der
BDE-Komponente nur einfügen und mit TTable verbinden soll?
Auch die Diskussion "TQuery oder TTable?"
http://www.delphipraxis.net/15457-tq...er-ttable.html bringt einen Datenbankanfänger nicht wirklich weiter in der Frage, ob:
1. Suche entweder mit TQuery oder TTable
oder
2. Suche mit TQuery in TTable
gemeint ist.
Natürlich habe ich schon versucht die o.g. Komponenten einzufügen, bei der
Suche via
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;
bleibt des DBGrid aber ungefiltert!
Vielleicht habe ich ja die Komponente TQuery von DBTables auch nur falsch verknüpft? Ich habe da so ein merkwürdiges Fragezeichen, dass ich nicht wegbekomme, aber beim Kompilieren auch keinen Fehler verursacht.
Bin für jede Hilfe dankbar.
Gruß Gerd
Anmerkung: Die Diskussion über Paradox und BDE habe ich bereits in aller Ausführlichkeit gelesen. Hier geht es mir nur um das Verstehen von Datenbaken. Da ich aber zur Erstellung (bzw. Umstellung) auf SQL keine so einfach Anleitung gefunden habe, habe ich die Sache damit begonnen.http://www.delphipraxis.net/images/s.../icon_wink.gif