FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Excepción en conexión MySQL
Hola amigos, tengo un pequeño problema, hice una aplicacion en Delphi que se conecta con un servidor de DB MySQL el cual se encuentra en un Hosting, quiero poner una excepción al código en caso de que la conexión a internet falle pero no me toma estas excepciones aqui les dejo el codigo espero puedan ayudarme. Desde ya gracias...
Código:
begin //obtengo el ultimo ID da la tabla externa idlocal := '0'; QidExterno.Active := False; QidExterno.SQL.Clear; QidExterno.SQL.Text := 'select * from cliente order by id desc'; try QidExterno.Active := True; idlocal := QidExterno.Fields[0].AsString; finally //obtengo los registros pendientes de subir de la Tabla Local if StrToInt (idlocal) <> 0 then begin QPrincipal.Active := False; QPrincipal.SQL.Clear; QPrincipal.SQL.Text := 'select * from cliente where id > '''+idlocal+''''; QPrincipal.Active := True; while (not QPrincipal.Eof) do begin idlocal := QPrincipal.Fields[0].AsString; nom := QPrincipal.Fields[1].AsString; loc := QPrincipal.Fields[2].AsString; try QInsercion.SQL.Clear; QInsercion.SQL.Text := 'INSERT INTO cliente (Id,nombre,localidad) VALUES ('''+idlocal+''','''+nom+''','''+loc+''')'; QInsercion.ExecSQL; finally QPrincipal.Next; LTiempo.Caption := ' '+DateToStr (Date)+' '+TimeToStr (Time)+''; end; end; end else LTiempo.Caption := 'No se subieron datos!!'; end; end; Código:
try //instrucciones except //instrucciones end; Código:
try //instrucciones finally //instrucciones end; |
#2
|
||||
|
||||
Para saber si te funcionan las estructuras (en concreto try..except), habría que saber cómo las estás incluyendo en tu código, de todas formas, me parece que hay un error en el diseño.
Por defnición un Try..finally, hace que si falla lo que hay en el Try, se ejecute forzosamente lo que hay en el Finally. No me acaba de quedar claro porqué tienes en el Finally ese código. Creo que no es la estructura adecuada para este caso. Creo que bastaría con algo así:
El código que hay en el Finally no cumple la premisa de que se deba ejecutar siempre, puesto que si hay error, tú mismo no lo ejecutas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Si es así la estructura esta errada, es el resultado después de varios intentos, corregi como sugieres pero nada, pruebo la aplicación pero en caso de no tener conexión a Internet se detiene con un fatal error al intentar conectar con la DB...
No entiendo porque ejecuta las lineas que están dentro del try y si da error detiene la aplicación, lo correcto seria que ejecute las lineas que estan dentro del except Estoy utilizando Delphi7 habrá que configurar algo para tener en cuenta las excepciones??. los componentes que utilizo son el Query de la paleta BDE. |
#4
|
||||
|
||||
¿Puedes poner el código tal como lo has dejado?
Desactiva en Las opciones de Debug, "Debug on language exceptions"; A ver si es por eso que te están saltando los errores.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Listo encontré la solución!!!, lo que hice fue Click en Menu Tools/Debuger Option y en la pestaña general destilde la Opción integrated debugging y WALA!!! toma las Excepciones.
Mil gracias Neftali por tu buena voluntad me sirvió de mucho tu ayuda. Ahora paso al siguiente inconveniente ya que esto no se termina aquí jeje, en la DB que se encuentra colgada en Internet tengo dos tipos de datos que me están dando dolor de cabeza uno es DATETIME y el otro TIMESTAMP yo recibo originalmente los datos de una DB local guardo los datos en una variable STRING y lo paso a la DB en internet pero solo llegan 0000-00-00 00:00:00 como hago?? |
#6
|
|||
|
|||
Bueno solucione el problema de la Fecha lo unico que hice es configurar la fecha y hora en mi maquina como lo tiene el MySQL y ya!!...
Gracias a Todos.... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
conexion con mysql | srangel | Conexión con bases de datos | 4 | 07-02-2007 00:09:10 |
Conexion de MySQL.. | Diegochr | MySQL | 6 | 29-01-2007 04:25:12 |
Conexion con MySQL | noshy | SQL | 5 | 02-08-2006 01:17:29 |
Conexion con MySQL | Esau | Conexión con bases de datos | 2 | 27-04-2006 11:25:30 |
excepcion en conexion a Interbasebase | el_barto | Conexión con bases de datos | 5 | 03-06-2005 22:42:52 |
|