Ich setze MariaDB und Zeos-Komponenten ein.
Ein Daemon, der in Echtzeit eine Tabelle überwacht, soll, wenn sich ein Feld geändert hat, eine Funktion aufrufen, z.B. ein Signal über TCP senden.
Dazu öffne ich eine Datenbankverbindung und führe in einer Schleife einen Refresh durch.
Wenn sich irgendein Feldihnalt in der Datenbank geändert hat, dann soll es passieren.
Gut wäre auch zu wissen, welches Feld oder welche Felder davon betroffen sind.
Code: Alles auswählen
var Query : TZQuery;
begin
Query := TZQuery.Create;
try
Query .SQL.Text:='SELECT * FROM `Tabelle` WHERE `aktiv` = 1 ; ';
Query .Open;
repeat
KonfQuery.Refresh;
If ("hat sich was geändert") then ("mache etwas");
until keypressed;
finally
KonfQuery.Free;
end;
end;
Ich kann dafür kein Event oder eine Funktion finden. Weiß jemand, ob es da etwas gibt oder muss ich mir jedesmal alle Felder-Inhalte merken, um danach zu testen, ob sich ein Feld geändert hat?
Ich möchte möglichst auf die zwei Schleifen verzichten, da das u.U. zu viel Rechenzeit verbraucht.