Cierre de aplicacion

13/08/2004 - 12:58 por Aitor | Informe spam
Hola:
estoy utilizando el siguiente codigo en vb6 para hacer
copias de tablas de un servidor a otro en donde la
variable scp es un consulta sql.


conexe.BeginTrans
conexe.Execute scp
If conexe.Errors.Count > 0 Then
p = (MsgBox("No se ha podido realizar la copia de la
tabla" + actual, vbExclamation, "Error") = vbOK)
conexe.RollbackTrans
Else
p = (MsgBox("La copia de la tabla " + actual + " se ha
realizado correctamente", vbInformation, "Aviso") = vbOK)
conexe.CommitTrans
End If
conexe.Close


El caso es que en la mayoria de los casos no me da
problemas pero cuando la consulta sql falla se me cierra
la aplicacion (.exe) y hay que volver a executarla. ¿
Habría alguna forma de evitarlo ?

Gracias y salu2
 

Leer las respuestas

#1 Tinoco
13/08/2004 - 13:49 | Informe spam
Hola.

Lo que hace falta es un manejador de errores en VB, algo
como:

On Error GoTo errClase:

conexe.BeginTrans
conexe.Execute scp
If conexe.Errors.Count > 0 Then
p = (MsgBox("No se ha podido realizar la copia de la
tabla" + actual, vbExclamation, "Error") = vbOK)
conexe.RollbackTrans
Else
p = (MsgBox("La copia de la tabla " + actual + " se
ha
realizado correctamente", vbInformation, "Aviso") = vbOK)
conexe.CommitTrans
End If
conexe.Close

Exit Function

errClase:
conexe.RollbackTrans
conexe.Close
MsgBox ""

Hermilson T.
MCDBA, MCSD
Colombia


Hola:
estoy utilizando el siguiente codigo en vb6 para hacer
copias de tablas de un servidor a otro en donde la
variable scp es un consulta sql.


conexe.BeginTrans
conexe.Execute scp
If conexe.Errors.Count > 0 Then
p = (MsgBox("No se ha podido realizar la copia de la
tabla" + actual, vbExclamation, "Error") = vbOK)
conexe.RollbackTrans
Else
p = (MsgBox("La copia de la tabla " + actual + " se


ha
realizado correctamente", vbInformation, "Aviso") = vbOK)
conexe.CommitTrans
End If
conexe.Close


El caso es que en la mayoria de los casos no me da
problemas pero cuando la consulta sql falla se me cierra
la aplicacion (.exe) y hay que volver a executarla. ¿
Habría alguna forma de evitarlo ?

Gracias y salu2

Preguntas similares