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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Miguel Egea
13/08/2004 - 19:55 | Informe spam
Permitidme un consejo, nunca dejeis un msgbox (necesita intevernción de un
usuario ) dentro de una transacción, puede matarte el rendimiento y
generarte muchos problemas de bloqueo (la gente se puede ir a comer o de fin
de semana o de vacaciones!!! sin pulsar intro).


-
Miguel Egea Gómez
Microsoft SQL-Server MVP
Webmaster de PortalSql.Com
¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?



"Tinoco" escribió en el mensaje
news:5a9701c4812b$95b8f580$
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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida