Check also
Re: SQL Server Transactions Blues Thread #
903691 Message #
903878>Naomi,
>
>In DataSession 1, I created a VFP Cursor from a Cursoradapter which gets its data from a MySQL table. I have set all there is to set to make it updatable. Its Buffermodeoverride is 5 - optimistic table buffering. I then made modifications to this cursor - edits, deletions and appends.
>
>In the MySQL client, I intentionally locked some records in the server side.
>
>Back to DataSession 1. I issue TABLEUPDATE(.T.), which obviously failed. So, I issued a TABLEREVERT(.T.). NOT ALL records were reverted back to its original state. Those that were 'successfully sent' to the server could not be reverted back.
>
>I have no problem with the server side as I have put SQL sends to commit and rollback in the AfterCursorUpdate event.
>
>What I want to happen is an "all or nothing" scenario - if any record update fails, then none gets updated - in the VFP side.
>
>The workaround I did was to just do a CursorRefresh() to fetch back the original records. Is this the ONLY way?
>
>Thanks!
>
>Dennis
>
>
>
>
>
>>Dennis,
>>
>>Your question is unclear. Did you verify that you really saved your records with tableupdate(), e.g. what did this function return?
>>
>>>Hi All,
>>>
>>>I have a cursoradapter with BufferMoodeOverride = 5, table buffering.
>>>
>>>I did a TABLEUPDATE( .T. ), which updated several records to the data source.
>>>
>>>Problem is, if with 10 new records, then we attempt to save with TABLEUPDATE()... only the first 5 records were saved... the local cursor then shows the first 5 as not a new record!
>>>
>>>Is there a workaround for a 'REAL TABLEREVERT(0)'??
>>>
>>>tHANKS
>>>
>>>dENNIS
If it's not broken, fix it until it is.
My Blog