Das war aber so noch nie richtig, denn eine Transaktion sollte immer nur so lang wie nötig bestehen. Dieser Zeitraum liegt in der Praxis im Sekunden- oder sogar Millisekundenbereich.
Das kann man nicht so pauschal sagen. Nimmt man den traditionellen Delphi Anatz, dann hat man TTable/TQuery Komponenten, die über ein TDataSource mit visuellen Komponenten verbunden sind.
Ist man da mit einer Interbase/Firebird Datenbank verbunden, geht es garnicht andrs als dass man über einen langen Zeitraum die Transaktion offen hat, denn sowie man sie schliesst, schliessen die Table/Queries auch.
Doch kann man so pauschal sagen.
Zitat:
Ziel eines Transaktionssystems ist es stets, möglichst viele Transaktionen in möglichst kurzer Zeit abzuwickeln.
Quelle
Nur weil Emba das mit dem Rapid Application Development da etwas losgetreten hat, wird es nicht richtig. Man kann damit schnell mal was hinklatschen, aber dadurch hast du auch schon die Trennung zwischen UI, Logik und Persistenz nicht eingehalten. Also gleich mehrere Fehler auf einmal.
Die Rache kommt irgendwann später, aber sie kommt.
Natürlich funktioniert so ein Ansatz, aber er klebt halt wie Pech an deinen Händen.