• Lunes 18 de Noviembre de 2024, 10:34

Autor Tema:  Control De Compromiso  (Leído 1516 veces)

FRIJU

  • Miembro MUY activo
  • ***
  • Mensajes: 158
    • Ver Perfil
Control De Compromiso
« en: Jueves 13 de Mayo de 2004, 13:14 »
0
Hola Compañer@s!
   
   Estoy realizando un programa que realiza 3 SQl seguidos, quiero utilizar el metodo BeginTrans, para controlar que si alguna de las Sql, falle vuelva todo a su estado original.
Ejemplo:

BeginTrans

  SQL1ª
  SQL2ª
  SQL2ª
CommitTrans
 
tratar error:
MsgBox "No se han podido realizar las actualizaciones"
Rollback


 He estado buscando en la ayuda, del foro pero como es evidente no me ha valido para mucho. Lo se hacer en RPG, pero!!!!

 Un saludo. :whistling:

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Control De Compromiso
« Respuesta #1 en: Jueves 13 de Mayo de 2004, 15:06 »
0
Utiliza lo siguiente en tu procedimiento

Private Sub Command1_Click()

On Error Goto Crtl_Error
nError=0
'Primero envia a la base de datos el inicio de la transaccion
'es decir envia BEGIN TRAN

'<aqui va la primera sentencia sql>
if nError=0 then
 '<Aqui va la segunda sentencia sql>
  if nError=0 then
    '<Aqui va la segunda sentencia sql>
  endif
endif
if nError=0 then
 'Envia el termino de la transaccion COMMIT TRAN
else
 'Envia que se reversen los cambios con ROOLBACK TRAN
endif
Exit Sub

Ctrl_Error:
  nError=Err.Number
  msg="Error " & Err.Number & vblf & Err.Description
  msgbox msg,vbcritical,"Advertencia
  Resume Next
End Sub

FRIJU

  • Miembro MUY activo
  • ***
  • Mensajes: 158
    • Ver Perfil
Re: Control De Compromiso
« Respuesta #2 en: Jueves 13 de Mayo de 2004, 16:57 »
0
Eskerrik Asko Jose!
   
Probatuko dut!