Ik heb een programma dat gebruik maakt van cached updates, maar de werking van een aantal functies omtrend cached updates en het gebruiken van requestlive zijn mij nog niet helemaal duidelijk na het lezen van de betreffende borland delphi help:
Dit is hoe ik het begrijp:
1) Commit, rollback en commitupdates worden alleen gebruikt als er gebruik wordt gemaakt van transacties.
2) Post wordt alleen gebruikt als er geen gebruik wordt gemaakt van cached updates en doet ongeveer hetzelfde als applyupdates.
3) Een functie als bijv InsertRecord is gelijk aan:
Insert + SetFields + Post
4) Voor een insert mbv cached updates is een InsertRecord en een applyupdates nodig.
Graag commentaar op deze punten, want ben beetje in de war
Is het verder by cached updates nog nodig om na applyupdates de cache te legen met bijv CancelUpdates?
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| procedure TForm1.ApplyButtonClick(Sender: TObject); begin with CustomerQuery do begin Database1.StartTransaction; try ApplyUpdates; {try to write the updates to the database}; Database1.Commit; {on success, commit the changes}; except Database1.Rollback; {on failure, undo the changes}; raise; {raise the exception to prevent a call to CommitUpdates!} end; CommitUpdates; {on success, clear the cache} end; end; |
Dit is hoe ik het begrijp:
1) Commit, rollback en commitupdates worden alleen gebruikt als er gebruik wordt gemaakt van transacties.
2) Post wordt alleen gebruikt als er geen gebruik wordt gemaakt van cached updates en doet ongeveer hetzelfde als applyupdates.
3) Een functie als bijv InsertRecord is gelijk aan:
Insert + SetFields + Post
4) Voor een insert mbv cached updates is een InsertRecord en een applyupdates nodig.
Graag commentaar op deze punten, want ben beetje in de war
Is het verder by cached updates nog nodig om na applyupdates de cache te legen met bijv CancelUpdates?