Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
datamodule, acceso a la bd

Hola de nuevo,

Acabo de hacer un programita simple para ir probando algunas cosas.

en este caso, usando los componentes zeos, si en el form principal le pongo el zconnection, zquery y un datasource y un dbgrid ademas de haberle puesto:

zconnection1.database:='ruta de la base de datos';

me funciona bien.

Si los componentes los meto en un datamodule, la cosa cambia, porque dice que la base de datos esta missing.

Ya lo puse asi tal y como recomendais en otros post:

Código Delphi [-]
Application.Initialize;
    Application.CreateForm(TDataModule1, DataModule1);
  Application.CreateForm(TForm1, Form1);
  Application.Run;

en el form primario le pongo tambien esto:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  datamodule1.zconnection1.Database:=(extractfilepath(application.exename)+'elcheques.ib6');
  datamodule1.zconnection1.Connected:=true;
  datamodule1.zquery1.Active:=true;
end;

pero no me reconoce la ruta.

Si lo hago todo en el mismo form, estupendo, pero queria ver las posibilidades del datasource, como decis, sirve sobretodo para tenerlo ordenado.

saludos y gracias
Responder Con Cita
  #2  
Antiguo 27-05-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo normal es poner los controles en el datamodule, salvo el datasource, que lo dejas en el formulario.
Debes incluir en el uses del formulario al datamodule
Código Delphi [-]
uses  blablabla, blebleble, dmDatos, etc.
Evidentemente, desde el formulario debe hacer mención al datamodule:
Código Delphi [-]
dmDatos.Query.Close;
dmDatos.Query.SelectSql.Text := 'select * from tbpruebas';
dmDatos.Query.Open;
Por lo demás, no hay diferencia alguna en el funcionamiento de los componentes, estén en el formulario o en el datamodule.
Responder Con Cita
  #3  
Antiguo 27-05-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Si, asi lo tengo colocado, el problema es con dm.zconnection.database:='ruta'; que dice no existe la basededatos, si la coloco en el mismo form si funciona todo pero colocandola en el datamodule y llamandola desde la unit principal no hay forma.
Responder Con Cita
  #4  
Antiguo 27-05-2012
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
Si me permites, creo que el método que estas usando no es el adecuado, por que? por que si tratas de acceder a un archivo físico vas a tener vario problemas con windows 7 dependiendo del nivel de permisos que tenga tu usuario y demás.
Lo que yo hago es lo siguiente:
En el archivo C:\Program Files\Firebird\Firebird_2_5\aliases.config ingreso la ruta del archivo de base de datos, algo así
Cita:
#
# List of known database aliases
# ------------------------------
#
# Examples:
#
# dummy = c:\data\dummy.fdb
#
employee = C:\Program Files\Firebird\Firebird_2_5\examples\empbuild\EMPLOYEE.FDB
en la propiedad Database colo escribo employee; no te imagina los dolores de cabeza que me he ahorrado de esta forma, especialmente por que los clientes que se conecten a esa base de datos no necesitan saber en que ruta física está el alchivo de la base de datos, espero te sirva de algo.

Saludos.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #5  
Antiguo 27-05-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por las aportaciones.

Estoy usando sqlite, pero lo que no entiendo por que con el datamodule sigo sin poder conectar y en el propio form si, si ya creo el datamodule antes que el form para qu eno haya problemas.

Puedo usar la solucion facil y ponerlo todo en el form principal, pero me gustaria aprender el por que de las cosas, si se puede claro .

Gracias de nuevo
Responder Con Cita
  #6  
Antiguo 27-05-2012
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
La verdad no se me courre nada, yo trabajo con Zeos7 y Lazarus 9.31 y me funciona bien, siento no poder ayudarte.
__________________
mas confundido que Garavito el día del Niño.
Responder Con Cita
  #7  
Antiguo 27-05-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
gracias, no te preocupes, a ver si doy con algo.

saludos
Responder Con Cita
  #8  
Antiguo 28-05-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Fijate que el zcconnection en modo diseño y la query no esten activos, pues como el datamodule lo creas primero y solo le das los datos en el form1 que se crea después, puede que la cosa venga por ahí.
Responder Con Cita
  #9  
Antiguo 28-05-2012
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Sobre la posibilidad de que accidentamente la propiedad Connected de TZConnection quede en TRUE, existe una propiedad llamada DesignConnection que previene esto: si se la coloca en TRUE, en el momento inmediato antes de la orden de compilar, la propiedad Connected del componente se cambia automáticamente a FALSE.
__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.
Responder Con Cita
  #10  
Antiguo 30-05-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Vaya esa si que no la sabía, existe alguna documentación de las propiedades y eventos de los componentes Zeos?, pues todo lo que se de ellos lo he sabido a palo, e imaginándome para que es, claro por la experiencia también, pues antes siempre usaba los componentes ADO
Gracias, todo los días se aprende algo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
datamodule josi Varios 22 11-12-2008 08:07:42
Datamodule Cecilio Lazarus, FreePascal, Kylix, etc. 3 14-09-2008 18:36:35
Datamodule VRO Firebird e Interbase 2 13-07-2004 19:00:45
Creacion de DataModule ronson Conexión con bases de datos 4 09-03-2004 11:35:45
datamodule maruenda Varios 1 31-12-2003 18:24:21


La franja horaria es GMT +2. Ahora son las 17:53:22.


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
Copyright 1996-2007 Club Delphi