Information générale
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Network:
Windows 2003 Server
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
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement