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

 
Vista:
sin imagen de perfil

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
sin imagen de perfil

Transaction MySql en vb.net. ROLLBACK y COMMIT

Publicado por Pico (167 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
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Transaction MySql en vb.net. ROLLBACK y COMMIT

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 31/07/2014 19:28:33
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