Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Begin & End Transaction
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Problèmes
Divers
Thread ID:
00056104
Message ID:
00056145
Vues:
31
>Any idea why the tableupdate in the following code would fail. Note that this is a simplified version of my code. In my application I am actually updating five tables.
>
>SET MILTILOCKS ON
>SET EXCLUSIVE OFF
>SET DELETED ON
>
>USE mytable IN 0 shared
>=CURSORSETPROP("buffer", 5, "mytable")
>
>DELETE FROM mytable WHERE RECNO() <= 500
>
>BEGIN TRANSACTION
>IF !TABLEUPDATE(.T., .T., "mytable")
> ROLLBACK
> = TABLEREVERT(.T., "mytable")
>ELSE
> END TRANSACTION
>ENDIF
>
>The above test works when I only delete 499 records but when I try 500 it fails. Each record in mytable is 1426 bytes. I also have the same problem if referential integrity deletes the 500 records (cascading delete).
>
>Thanks,
>Shane

Hi Shane,

I believe TABLEREVERT() is an illegal command within a transaction. You probably want something like

BEGIN TRANSACTION
IF NOT TABLEUPDATE( .T., .T., "MyTable" )
ROLLBACK
ENDIF
END TRANSACTION

Bill
William A. Caton III
Software Engineer
MAXIMUS
Atlanta, Ga.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform