Einzelnen Beitrag anzeigen

Nils S.

Registriert seit: 10. Apr 2014
36 Beiträge
 
Delphi XE5 Professional
 
#8

AW: TQuery/TTable filtern ohne Daten neu abzurufen

  Alt 24. Mai 2014, 07:43
wenn man bei einem Query oder Table den Filter setzt (Table1.Filter := 'Column1 = abc'; ), wird die Datenmenge, welche die Komponente abrufen soll, neu abgerufen (mit einer Where-Klausel o.ä.) oder nicht?
Läßt sich doch ganz einfach testen:
Du programmierst dir eine Methode zum Setzen bzw. Löschen des Filters:
Delphi-Quellcode:

private {private Deklarationen}

Procedure TFormMain.Filtern(MyTable : TTable; MyFilter : String; Setzen : Boolean);
begin
  MyTable.Filtered := False;

  if Setzen then
  begin
    MyTable.Filter := MyFilter;
    MyTable.Filtered := True;
  end;
end;
Die rufst du – meinetwegen mit einem Buttonklick – auf, nachdem du mit deinem Lieblings-Datenbank-Manager einen Wert in dieser Tabelle geändert hast. Wird der geänderte Wert auch in deiner Anwendung angezeigt, hat das Setzen des Filters aktuelle Daten aus der DB geschaufelt, andernfalls nicht.
Das habe ich mir auch kurz nach dem Erstellen gedacht und gemacht.
Habe nun festgestellt, dass bei einem Filter die Daten aus der Datenbank neu abgerufen werden.
  Mit Zitat antworten Zitat