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)
-   -   Uso del TDatabase (https://www.clubdelphi.com/foros/showthread.php?t=20906)

Loviedo 29-04-2005 01:59:39

Uso del TDatabase
 
Estoy haciendo una aplicación cliente/servidor, con firebird y quisiera saber cual es el uso correcto de este componente.
La pregunta viene al caso, porque me sucede que sin conectarlo se pueden abrir las Tablas y además he visto en la demo de delphi7, que no lo cierra al terminar la aplicación.
¿Que sentido tiene los métodos Open y Close y como afectan al programa?.
Gracias anticipadas.

marcoszorrilla 29-04-2005 06:55:36

Según parece te conectas a FireBird con el BDE?, porque no utilizas los componentes IBX que vienen con Delphi?

Un Saludo.

Loviedo 29-04-2005 11:24:20

Perdón por mi desconocimiento es el TIBDatabase;

fly 30-04-2005 03:58:21

Cita:

Empezado por Loviedo
¿Que sentido tiene los métodos Open y Close y como afectan al programa?.

En cuanto desarrolles más la aplicación lo notarás.
Seguramente ahora tu le has puesto en Delphi, en el componente IBDatabase el DataBaseName=mi_base_de_datos y Connected=True. Esto te permite ver los valores de los registros en el IDE y arrancar la aplicación con la base de datos ya abierta (y asumo que delphi la cerrará al terminar).

El primer problema viene cuando decides borrar la base de datos para hacerla de nuevo, como Delphi la tiene abierta no se permite borrarla, así que tienes que cambiar la propiedad del Connected o cerrar el Delphi.

Segundo, ¿y si al iniciar la aplicación aun no sabes donde se encuentra la base de datos? Tienes que abrirla tu mismo en tiempo de ejecución, usando el .open. Y además querras que quede bonito :
Código:


try 
  DMQ1.IBDatabase.Open;
 except
        showmessage('Pues va a ser que no...');
        exit;
end;

Más, ¿y si en medio de la ejecución tienes que cambiar de base de datos o ejecutar alguna acción crítica que no te permita tenerla abierta? Pues no queda mas remedio que usar .close y despues .open de nuevo,

Espero que esto aclare tus dudas.

Saludos.

Loviedo 30-04-2005 06:37:03

Gracias por la aclaración.
Saludos.


La franja horaria es GMT +2. Ahora son las 19:39:18.

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