Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
lorsque j'effectue un ROLLBACK, cela réinitialise-t-il le SQLErrText ? Autrement dit dois-je coder comme suit une récupération d'erreur :
If dw.Update(True, False) <> 1 Then ls_msg = SQLCA.SQLErrText ROLLBACK USING SQLCA; MessageBox("Test", "Une erreur est survenue :~r" + ls_msg, Stopsign!) Else COMMIT USING SQLCA; dw.ResetUpdate() End If
ou le code suivant suffit-il ?
If dw.Update(True, False) <> 1 Then ROLLBACK USING SQLCA; MessageBox("Test", "Une erreur est survenue :~r" + SQLCA.SQLErrText, Stopsign!) Else COMMIT USING SQLCA; dw.ResetUpdate() End If
(j'évite de mettre le messagebox avant le ROLLBACK sinon risque de LOCK...)
Hors ligne
A ta place, j'utiliserai plutôt une variable string comme suit:
String ls_errtext If dw.Update(True, False) <> 1 Then ls_errtext = SQLCA.SQLErrText ROLLBACK USING SQLCA; MessageBox("Test", "Une erreur est survenue :~r" + ls_errtext , Stopsign!) Else COMMIT USING SQLCA; dw.ResetUpdate() End If
Hors ligne
des que tu fais un commit ou un rollback, les erreurs et retours de transactions sont remis à zero.
Hors ligne