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)
-   -   componente de Conexión zeos no asignada. (https://www.clubdelphi.com/foros/showthread.php?t=60234)

Parche 25-09-2008 13:10:10

componente de Conexión zeos no asignada.
 
Buenos días:

Llevo bastante intentando conectar en un datamodule - Zconnection (sin agregar zquerys, datasources, ztables, etc ... en él).
Luego inserto y conecto estos componentes (zquerys en este caso)a un form, lo uno a un tdatasource, luego a tdbedit y finalmente a un tdbnavigator. Todo está sin conectar (tanto Zconnection - connected - false, como los zQuery - active - false).
Tengo asignada dos sqls a dos zquerys...Clientes y Productos, también dos tdatasources. Uso Firebird 1.5.5, Delphi7 y ibexpert. En productos tengo un campo empleado que está unido a Clientes. Uso un dblookcombobox para asignar empleado a clientes y añadir datos con el tdbnavigator.
Intento que al crear el form me active o conecte o lo que sea para iniciar el ejecutable.
Oncreate:
zqueryclientes.Active:=true;
ZQueryProd.Active:=true;
y Ondestroy:
ZQueryClientes.Active:=false;
ZQueryProd.Active:=false;

y me da siempre el error:

Ezdatabaseerror: with message - database connection component is not assigned - ...
Ya no sé que puede ser.

He hecho prueba con - Facturacion - de Caral (muy bueno por cierto).
Esta vez, claro, con ado y con datamodule, etc... pero tampoco me permite conectar!! Tengo la conexión en un datamodule, y en los forms todos los componentes. Me da error también en Oncreate:

Edatabaserror: message - missing connection or connectionstring...

Gracias por vuestro interés.

duilioisola 25-09-2008 14:52:46

Cita:

Ezdatabaseerror: with message - database connection component is not assigned - ...
Esto parece ser que los ZQuery no tienen la propiedad DataBase asignada.

No conozco los Zeos, pero en FreeIB es:
Código Delphi [-]
var DataBase : TFIBDataBase;
...
Database.DBName := '172.26.0.1:C:\Datos\BaseDeDatos.fdb';
Cita:

Edatabaserror: message - missing connection or connectionstring...
Esto parece ser que no has puesto la ruta a tu base de datos en el componente ZConnection

No conozco los Zeos, pero en FreeIB es:
Código Delphi [-]
var Query : TFIBQuery;
...
Query.DataBase := DataBase;

Parche 25-09-2008 20:17:00

Buenas tardes:

Después de hacer más pruebas, no entiendo pq. no se puede conectar con Oncreate y sí puedo con OnActivate (form en ambos casos).
1) ¿Pq. no se puede conectar con uno y sí con el otro?
2) ¿Qué diferencia hay? Es decir, puede causar error en algún momento? Bueno, después de probar me respondo, y claro al iniciar un nuevo form o llamarlo (crearlo) se activa éste por lo que parece ser que no es problemático colocar el código en OnActivate.

Gracias duilioisola por tu respuesta.

roman 25-09-2008 20:26:20

Lo más probable es que el DataModule se cree después del formulario, revisa en Project|Options|Forms en que orden están.

Si el formulario se crea antes, cuando intentas activar un query en OnCreate, el DataModule aún no existe y por ello te marca el error.

Si inviertes el orden verás que todo funciona bien.

// Saludos

Parche 25-09-2008 21:24:37

Cita:

Empezado por roman (Mensaje 316339)
Lo más probable es que el DataModule se cree después del formulario, revisa en Project|Options|Forms en que orden están.

Si el formulario se crea antes, cuando intentas activar un query en OnCreate, el DataModule aún no existe y por ello te marca el error.

Si inviertes el orden verás que todo funciona bien.

// Saludos

Buenas noches:

En efecto roman. Así era. Gracias por la respuesta concisa y directa. He cambiado de orden el DataModule y ha funcionado con OnCreate.

Gracias por tu interés.

rogima 11-08-2018 14:43:44

un query en OnCreate
 
Si roman es correcto!! oncreate se crea antes del Module y genera error .
Lo cambie a OnActivate y solucionado!!:cool:

Casimiro Notevi 11-08-2018 14:47:18

Cita:

Empezado por rogima (Mensaje 528027)
Si roman es correcto!! oncreate se crea antes del Module y genera error .
Lo cambie a OnActivate y solucionado!!:cool:


El onactivate se ejecuta cada vez que form toma el foco, por lo que es mejor el onshow para este caso, así se creará solamente una vez al entrar.


La franja horaria es GMT +2. Ahora son las 14:08:36.

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