Uso correcto transacciones en select case

Hola experto, antes que nada agradezco tu ayuda, mi duda es la siguiente:

Tengo una barra de herramientas (guardar, actualizar, eliminar), ¿como utilizo las transacciones en un select case y tengo que cerrar la tabla en cada case?

Mi código:

General

dim miTabla As New Recordset

Barra de herramientas evento click

Select Case ButtonKey

Case "guardar"

on Error goto ManejadorGuardar

base.beginTrans

miTabla.Open "insert into temporada (temporada, descripción) values ('" & MaskEdBox1.Text & "','" & TextBoxM1.Text & "')", base, adOpenKeyset, adLockOptimistic, adCmdText

miTabla.close

base.commitTrans

ManejadorGuardar:

if err.number <>0 then

base.roolback

end if

Case "modificar"

On Error GoTo ManejadorActualizar

base.beginTrans

miTabla.Open "update temporada set temporada= '" & MaskEdBox1.Text & "', descripción ='" & TextBoxM1.Text & "' where temporada = '" & MaskEdBox1.Text & "'", base, adOpenKeyset, adLockOptimistic, adCmdText

miTabla.Close

base.commitTrans

ManejadorActualizar:

if err.number <> 0 then

base.roolback

end if

Case "eliminar"

On Error Goto ManejadorEliminar

base.beginTrans

miTabla.Open "delete from temporada where temporada ='" & MaskEdBox1.Text & "'", base, adOpenKeyset, adLockOptimistic, adCmdText

miTabla.close

base.commitTrans

ManejadorEliminar:

if err.number <> 0 then

base.roolback

end if

Tengo que trabajar con las transacciones en cada case?, tengo que cerrar la tabla en cada case?

Desde ya muchas gracias!!

1 respuesta

Respuesta
1

El base. BeginTrans debe estar por fuera del Case y 1 sola vez, los rollback y los Commit, si cada vez que sean necesarios.

La tabla la cierras al final del case por fuera porque si la cierras no se puede hacer el Commit o el Rollback.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas