Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread Error #8708 - Editing record after opening a Dataset & Best Practise
Sun, Apr 26 2015 9:29 PMPermanent Link

Adam H.

Hi,

I've been chasing down a problem in my application where I get the error
"#8708 Reecord has been changed or deleted by another user, session, or
table cursor".

I've realised that I've incorrectly assumed that opening a closed table
should load the latest data into that dataset.

I now realise that DBISAM will not refresh the data in a TDbisamTable
component (even if it's just been created and opened) - if the table is
already opened elsewhere within my application.

This is quite likely the reason why I'm getting the record changed by
another user error straight after opening and then editing a record.

My first thoughts to correct this is to simply add Table.Refresh after
every Table.Open statement in my application, but I'm assuming that it
doesn't refresh for a reason so I'm wondering if I might be doing the
wrong thing here, or if there is a best practise scenario in these
situations?

Cheers

Adam.
Mon, Apr 27 2015 12:33 AMPermanent Link

Adam H.

Nevermind - I've just come across the sessions 'StrictChangeDetection'
property which appears as though it can resolve this issue for me. Smile

http://www.elevatesoft.com/manual?action=viewtopic&id=dbisam4&product=d&version=5&topic=change_detection

So I can either set that to True for the entire application (which may
take a performance hit), or manually refresh the tables immediately
after opening for the areas where I think there may be a concern.

Cheers

Adam.
Image