Kommt immer ein wenig drauf an. Bewährte Konzepte, welche auch der Trennung von
GUI, Business-Logik und Daten dienen sind z.B. MVC oder MVVW. Von der Umsetzung her könnte man unter Delphi z.B. auf DataBindings setzen .. Events sind aber definitiv auch eine legitime Möglichkeit.
Nachtrag:
Oft sind die genannten Konzepte aber etwas starr und zumindest für kleine- bis mittelgroße Projekte mehr Last als von Nutzen. Bezüglich der Wert-Änderung, mache ich das meistens in meiner Model Klasse (deiner Entität, welche die Datenbank-Tabelle abbildet). Dort läuft das bei mir dann über Setter Funktionen der Art:
Delphi-Quellcode:
type
TModel = class(TObject)
strict private
FX: Integer;
public
...
public
property X: Integer read FX write SetX;
end;
...
procedure TModel.SetX(const X: Integer);
begin
if (FX <> X) then
begin
FX := X;
RaiseUpdateEvent;
end;
end;
Genau das was ich im Kopf hatte als ich den Eingangspost erstellt hatte.
MVC oder MVVW wäre vermutlich am besten allerdings sehe ich das genau wie Du, für so ein kleines Projekt ziemlicher Overkill, was sicherlich auch wieder Ansichtssache sein kann.
Wie machst Du danach dein Update? Übergibst Du für dein Update
SQL nur die Felder die tatsächlich geändert wurden oder machst Du ein Update aller Felder für den entsprechenden Datensatz?