Eine dumme Grundsatzfrage zur TDataSet-Philosophie:
Wenn man in einem TDBGrid Daten in einer "Zeile" ändert werden die Änderungen erst übernommen wenn man die Zeile wechselt. Würde man das Formular einfach schließen (das Formular wird nicht zerstört, nur versteckt) werden auch keine Änderungen übernommen.
Wie kann ich die Änderungen trotzdem abschicken? Mein spontaner Ansatz war:
if myTable.State in [TDataSetState.dsEdit] then myTable.Post();
. Das schien spontan gut zu funktionieren.
Meine Frage:
- Gibt es noch mehr Zustände auf die achten muss?
- Gibt es Stolperfallen? Könnte die Zugriffsschicht noch Caching implementieren und die Änderungen erst später abschicken?