>Fred:
> Thanks for your reply. Do you know if a table was open without bufferring and issued a command to change values on a record without issuing a rlock(), when does the system issue a lock() and when would the system release the lock?
>sherry
You can determine if a table was open for buffering via:
nHow = CURSORGETPROP("Buffering","youralias")
Where nHow will be:
1 – (Default) Row and table buffering is off.
2 – Pessimistic row buffering is on.
3 – Optimistic row buffering is on.
4 – Pessimistic table buffering is on.
5 – Optimistic table buffering is on.
If you just use the automatic locking feature of VFP, the lock will take place, the data will be REPLACED, and the unlock is done immediately. You may have contention issues that are better dealt with your code handling the locking/unlocking though. It all depends on your situation and buffering status.