Hallo,
ich verwende für solche Aufgaben IBDAC.
Das gibt es als Unidac auch für mehrere Datenbanken.
In diesem Framework setzt eine
Query auf einem Memorydataset auf.
Die
Query hat einen Disconnect Mode. D.h. Daten werden nach dem Einlesen persisistent im Speicher gehalten und
Updates/Inserts im Cache gehalten.
Also folgender Ablauf:
Connect
Lese Datensatz
Disconnect
Den Datensatz bearbeiten.
Dann Abfrage ob Update/Insert notwendig ist.
Wenn ja dann
Connect
ApplyUpdates
Disconnect
Diese Lösung hat den Vorteil, das ich im Programm mit datensensitiven Componenten arbeiten kann.
Datenmengen stelle ich in einem Grid dar, welches sich aus einer
Query selbst initialisiert und dann die
Auswahl ohne Datenbankverbindung darstellt.
Das Grid handelt das Read/Update selbst.
Objecte wie z.B. KundenClass oder ArtikelClass melden sich bei der Datenbankschicht an (Observer) und werden dann
bei Änderungen automatisch gefüllt.
An diesem Teil arbeite ich im Moment noch.
Gruß
Peter