проблем с CachedUpdateStatus() на TIBDataSet

2 отговора 0 прегледа
#1

проблем с CachedUpdateStatus() на TIBDataSet

Налага ми се да обходя набор на TIBDataSet с включени CachedUpdates проверявайки състоянието на записите с CachedUpdateStatus(). Резултата е че cusInserted и cusModified ги хваща а cusDeleted не може.
Моля помогнете какъв е начина да се достигне до направените промени (по-точно изтритите записи) преди да бъдат приложени.
Благодаря предварително.

Отговор
в отговор на pita #2

OnUpdateRecord, UpdateKind, UpdateAction := uaSkip

Пробвай да викнеш ApplyUpdates и в OnUpdateRecord да отлагаш ъпдейтването на записите (UpdateAction := uaSkip).
Друг вариант е да си пълниш някакъв списък в OnBeforeDelete събитието на DataSet-а.

Linux isn't free, it's worthless.


Отговор
в отговор на andrew_nikoloff #3

Re: OnUpdateRecord, UpdateKind, UpdateAction := uaSkip

По повод първия вариант пропуснах да кажа, че ползвам транзакция само за четене и поради това ApplyUpdates дава грешка.
Втория вариант работи без проблеми и ще ползвам него, но таях някаква надежда, че има начин да се достигне до Delta на кешираните промени.
Благодаря много!

Отговор