Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de transaction SQL Server 2000

1 réponse
Avatar
Eric
Bonjour,

Quelqu'un saurait-il ce qui cloche dans le code suivant, pourtant
simple ?

sReq = "BEGIN TRANSACTION TARIFS"
SI PAS HExécuteRequêteSQL("REQ1",MaConnexionSQL,hRequêteSansCorrection,sReq) ALORS
VersPressePapier(HErreurInfo())
Erreur(HErreurInfo())
FIN
HAnnuleDéclaration("REQ1")

bOK=Faux

SI bOK ALORS
sReq = "COMMIT TRANSACTION TARIFS"
SI PAS HExécuteRequêteSQL("REQ1",MaConnexionSQL,hRequêteSansCorrection,sReq) ALORS
VersPressePapier(HErreurInfo())
Erreur(HErreurInfo())
FIN
HAnnuleDéclaration("REQ1")
SINON
sReq = "ROLLBACK TRANSACTION TARIFS"
SI PAS HExécuteRequêteSQL("REQ1",MaConnexionSQL,hRequêteSansCorrection,sReq) ALORS
VersPressePapier(HErreurInfo())
Erreur(HErreurInfo())
FIN
HAnnuleDéclaration("REQ1")
FIN

A l'exécution, j'obtiens ce message :

Erreur de l'accès OLE DB.
Numéro d'erreur = 170129

Echec de l'ouverture du fichier.

Détail de l'erreur système :
Description = La requête ROLLBACK TRANSACTION n'a pas de BEGIN
TRANSACTION correspondante.
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 25000
Error Number = -2147467259
Native Error Number = 3903

Encore plus bizarre, si je mets bOK à Vrai, le COMMIT TRANSACTION passe
comme une lettre à la Poste !

MaConnexionSQL est une connexion OLEDB.

Merci d'avance.

--
Eric

1 réponse

Avatar
Eric
Pour ceux que ça pourrait intéresser, il faut utiliser la fonction
SQLTransaction de Windev.

--
Eric