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 möchte möglichst auf die zwei Schleifen verzichten, da das u.U. zu viel Rechenzeit verbraucht.