Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Comprobar la conexion al servidor de bd (https://www.clubdelphi.com/foros/showthread.php?t=6997)

fjolivares 29-01-2004 19:09:23

Comprobar la conexion al servidor de bd
 
Hola a todos!, yevo un mes aprox. metiendome en el mundo de firebird. hay va mi pregunta: como compruebo de una manera correcta que mi programa se puede conectar al servidor de bd, informando al usuario en el caso de que no pueda conectarse? Saludos a todos

__cadetill 29-01-2004 20:09:24

Yo lo haría con un bloque try...except...end

Pongo el ejemplo con componentes del BDE pero sería lo mismo con cualquier otro
Código:

begin
  try
    Database1.Open;
  except
    on E: Exception do
      ShowMessage('No se ha podido conectar. Mensaje de error:'#13+E.Message);
  end;
end;

Espero te sirva

fjolivares 30-01-2004 08:38:24

Gracias Cadetill, pero aun así, cuando para el servidor firebird, se pone a lanzar access violations y errores a punta pala. no se podría comprobar la IP p el funcionamiento de servidor de otra manera?

Saludos y gracias.

__cadetill 30-01-2004 09:21:45

Si te entiendo bien, te refieres a que arranca el motor, empiezas a trabajar normalmente y, por lo que sea, cae (o se para) el motor.

Si es este caso, lo raro es que te dé Access Violation. Este tipo de error es por hacer referencia a objetos que no están creados, pero no por no poder hacer, por ejemplo, un Open de una tabla.

De todas maneras, te aconsejo englobar las operaciones de las tablas también entre bloques try...except...end, tanto la obertura, como las modificaciones/inserciones.

Otra cosa que podrías mirar es de debuguear el programa y mirar en qué linea está dando el error (una vez parado el motor)

fjolivares 30-01-2004 10:21:56

weno, me explocp mejor :D. yo tengo ya mi programa funcionando, solo estoy planteandome el caso de que un cliente ejecute el programa y por ejemplo no tenga red en ese momento, me gustaria ponerle un mensaje amigable indicandole el problema.

saludos y gracias

__cadetill 30-01-2004 11:01:14

Pues si es en el momento de arrancar el programa, es en el momento de activar la conexión, por lo que te sirve el primer mensaje que te he enviado, poniendo en el ShowMessage el mensaje que más te guste


La franja horaria es GMT +2. Ahora son las 11:28:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi