![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Ya tienes resuelto tu problema...ahi te va:
OnDisconnect y demás eventos de ZConnection solo se activan cuando en el programa se invoca alguno de sus métodos por lo que no es capaz de detectar cuando la conexión se ha caido. De hecho ZConnection lo unico que hace cuando se conecta es registrarse en el servidor y tener el canal listo para transmitir o recibir datos pero esto solo sucede cuando haces un select, insert o demás hacia el servidor. Si en un momento dado no haces nada en tu programa, ZCon "se duerme" y obviamente no se entera de que pasa con el servidor. Una vez sabido esto es obvio que al lazar cualquier select u otro comando, no hay garantía de que la conexión aun este levantada, por lo tanto es aqui donde entran los try except tu código: es útil al momento en que arrancas tu programa para verificar si hay conexión, lo puedes poner en el onshow u oncreate de tu ventana principal. Ahora bien, verificando antes de cualquier select:
Obviamente hay que meterle un poco de trabajo fino al except porque asi como te lo puse capturaria cualquier error en el Open, incluyendo errores de sintaxis en el SQL, por lo que hay que usar un objeto Exception para acceder al código de error que le corresponda, de todos modos como está te funciona. Asi tu programa ya no se cae, simplemente, no hace nada o te indica que no puede hacer nada, pero no se cae. Explicación burda, pero válida.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#2
|
|||
|
|||
|
Gracias......
En efecto..... ya revise.... y como yo lo tenia o trataba de hacer era :
pero siempre me detectaba esa propiedad en TRUE, aunque no estuviera conectada..... Lo que hice, en base a la ultima respuesta de AcidRain, fue por medio de una consulta (sin sentido o una simple) para detectar si hay conexion :
Pues muchas gracias ...... Salu2!!!!!!!! |
|
#3
|
||||
|
||||
|
Como lo hiciste es lo correcto pero más que estar checando si hay o no conexión antes de cada query, debes de hacer exactamente el mismo código que pusiste pero encerrando todo lo que quieres hacer cuando si hay conexión. Se oye raro, pero esa es la belleza de lasexcepciones: programar como si todo estuviera saliendo bien y en el codigo del except poner lo necesario para cuando las cosas no salen tan bien.. ysobre todo dejar tu programa funcionando.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| error en mysql | noshy | SQL | 1 | 11-06-2007 11:58:55 |
| Error de EOF con mysql | Lonidas | Conexión con bases de datos | 7 | 11-10-2006 23:13:25 |
| manejar MySQL desde plataforma Win | elcigarra | MySQL | 2 | 14-05-2006 07:37:13 |
| Desconectarse de un Servidor | Ronny | Internet | 2 | 12-04-2005 13:32:10 |
| Error con Mysql? | danytorres | MySQL | 4 | 25-11-2003 16:23:34 |
|