Visual Basic.NET - Transaction MySql en vb.net. ROLLBACK y COMMIT

   
Vista:

Transaction MySql en vb.net. ROLLBACK y COMMIT

Publicado por compumundo (11 intervenciones) el 25/07/2014 00:13:18
Hola!! quisiera saber como hacer una trasaction en vb.net
Por ejemplo para hacer un update lo realizo asi:

Dim res As Integer = INSERT_UPDATE_DELETE("start transaction; UPDATE articulos SET pcompra = '10' WHERE codigo = '25' ")

y para controlar si lo realizo:
If res = 0 Then

MsgBox("No se puede actualizar en este momento, vuelva a intentarlo más tarde", MsgBoxStyle.Critical, "Atención")
Exit Sub
Else


End If

pero nose como tendria que hacer para poner en el if el COMMIT si se realizo y sino en el ROLLBACK sino se realizo. asi no modifica ningun dato de la DB.
Muchas Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Transaction MySql en vb.net. ROLLBACK y COMMIT

Publicado por Pico (168 intervenciones) el 25/07/2014 08:31:49
Tienes que usar la clase SqlTransaction. Con ella defines el punto de retorno (save) o si quieres volver (rollback) o ya te parece bien como está (commit).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Wilfredo Patricio Castillo

Transaction MySql en vb.net. ROLLBACK y COMMIT

En primer lugar debes tener en cuenta si estás usando tablas transaccionales como InnoDB u otras, con lo cual solo te quedaría declarar una variable transacción mas o menos así:

Dim T as MySQLTransaction

Luego que abres tu conexión dices
T=Conexion.BeginTransaction
Conexion.Transaction=T
....por aquí haces todas tus operaciones que requieren de una transaccion

Si algo salió mal entonces
T.Rollback

de lo contrario

T.Commit

Con lo cual todos felices y contentos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar