-
Hola de nuevo a tod@s y gracias por leer este post, tengo dudas sobre si este codigo seria el correcto para realizar una trasaccion simple, ya que lo que pretendo es insertar datos en una tabla y si ocurre un error que vuelva a deshacer lo realizado. Cnx es la conexion, rs la consulta y añadir_registros es el procediemiento que enlaza los campos con la base de datos, agradezco vuestra ayuda.
Try
cnx.BeginTrans()
rs.AddNew()
rs.Update()
añadir_registros()
rs.MoveLast()
cnx.CommitTrans()
MsgBox("Datos Ingresados")
Exit Sub
Catch ex As Exception
MsgBox(ex.Message)
cnx.RollbackTrans()
Me.Close()
Exit Sub
End Try
-
en principio esta bien, pero en la parte del error, antes de mostrar el Msgbox, debes hacer el Rollback.
No se por que haces el MoveLast...pero en fín; los Commit y RollBacks debes hacerlos APENAS detectes que hay un problema, o que está todo bien.
Un abrazo desde España.
-
Gracias por tu respuesta.
Un Saludo.