row locking in mutli-user applications

bmayfield

Member²
We have reviewed all the previous threads but we do not see what we are looking for. Application is entered by user #1 and begins to type into a field. This locks the row. A second user enters the same application and tries to edit the same row. The instant the second user tries to type a character they get "Record is locked by another user". User 1 continues to enter characters. User 2 continues to try to enter characters and keeps getting "Record is locked by another user". User 1 saves the changes and exists the application. User 2 tries again to change the same row and receives "Record has been changed by another user". Even though the chanes have been posted this continues and forces the second user to exit the application and re-enter the application.

We have CommitOnPost set to true and LockingMode set to ImLockImmediate and CachedUpdates set to false and all instances of the multi-user application uses the same session.

Is there anyway to allow the second user to edit the row without exit and re-entry of the application? Why doesn't the second application realize the row is not locked anymore? The key is being able to identify a change in dataset state from user 1 so user 2 can continue editing if that's possible.

Got any explanations or ideas?

Regards,

Bruce
 
Is there anyway to allow the second user to edit the row without exit and re-entry of the application?
There is no need to restart the application. The user can simply refresh the dataset. This brings the changed record into the result set.

Alternatively you can include [roBeforeEdit] in the TOracleDataSet.RefreshOptions. This way the record will first be refreshed before it is edited.
 
Back
Top