Die TQuery-Komponente steckt in den Tabellenklassen (für die Zugriffe).
Datensensisitve Komponenten (TDB...) können (und brauchen) nicht mehr verwendet werden -> mehr Freiheit beim Design der Oberfläche.
Das Arbeiten mit einem mehrschichtigen Modell muss natürlich im Aufbau der
DB berücksichtigt werden. Die einfachste Variante: In jeder Tabelle gibt es für einen Datensatz ein Feld mit einer Versionsnummer. Diese wird per Trigger bei jedem Update (BEFORE UPDATE) autom. inkrementiert. Stellt der gleiche Trigger fest, das die in der
DB eingetragene Versionsnummer ungleich der einzutragenen Versionsnummer ist wird ein datenbankseitiger Fehler ausgelöst.
Die Anwendung kann dann darauf reagieren und unter Umständen jetzt sogar die Daten aus dem Speicher und die (inzwischen) geänderten Daten aus der Datenbank gegenüberstellen.
Das ist natürlich Mehraufwand, der allerdings durch viel Flexibilität mehr als wett gemacht wird.