Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 13
franroju Va por buen camino
Conexion Zeos con delphi 7

Hola. Soy nuevo en Zeos pero leyendo por estos foros vi que esta muy recomendado y decidí utilizarlo en una aplicación de prueba. Me surgió el siguiente problema:

Tengo en un form un ZConnection, un ZTable, un DataSource y un DBGrid. Creo la base de datos externamente, es decir, con un soft. de administración de base de datos, conecto las "piezas" y funciona perfectamente.

Ahora bien, quiero crear la base de datos y las tablas desde delphi, para facilitar la instalación en el cliente. Para esto utilizo un ZSQLProcessor en el cual escribo los scripts SQL, y no me informa ningún error, pero el DBGrid queda en blanco, es decir, sin datos y sin el nombre de las columnas. Como que algo falla en la conexión. Les paso el código para que vean las propiedades que modifico, tal vez olvido alguna o hago algo mal y no me doy cuenta.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ZSQLProcessor1.Script.Add('CREATE DATABASE IF NOT EXISTS prueba;');
  ZSQLProcessor1.Script.Add('USE prueba;');
  ZSQLProcessor1.Script.Add('CREATE TABLE IF NOT EXISTS `cuentacorriente` (`numero` int(9) NOT NULL, `nombre` varchar(20) NOT NULL, `monto` float(8,2) NOT NULL,  PRIMARY KEY  (`numero`));');
  ZSQLProcessor1.Execute;

  con.Database := 'prueba'; //ZConnection
  con.Catalog := 'prueba';
  con.Connect;
  con.Connected;
  ZTable1.TableName := 'cuentacorriente';
  ZTable1.Properties.Add('select * from cuentacorriente;');
  ZTable1.Active;
end;

La base de datos y la tabla las crea. Supongo que hay alguna falla con el ZTable pero no me doy cuenta cual puede ser. Hago un Showmessage de la propiedad Active de la tabla y me da 0, o sea que no queda activa y no puedo saber por qué.
Muchas gracias y espero su ayuda.
Responder Con Cita
  #2  
Antiguo 06-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola franroju.

No especificas con que motor de base de datos estás trabajando, pero si es Firebird, revisá este enlace:
Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 06-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 13
franroju Va por buen camino
Perdón, me olvidé ese detalle. Utilizo Mysql server 5.1
Responder Con Cita
  #4  
Antiguo 09-01-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 17
kapcomx Va por buen camino
conexion zeos

ke tal amigo, yo trabajo en zeos de la sig manera:

1. tengo un zconnection en el cual pongo las sig propiedades:

catalog: xxxx (aqui pongo el nombre que le di an dns en origenes de datos).
database: xxxx (el nombre de tu base de datos).
hostname: 192.168.x.x (aqui la ip de la maquina donde tengo instalado e mysql)
password: xxxxxxxx (password de tu usuario).
port: 3306 (el que usa por defecto MySql)
protocol: mysql-5
user: xxxxxx (el nombre de usuario que definiste para accesar a la bd desde mysql)
connect: true (desde el momento en que le das true te marca si se pudo o no conectar)

2. a tu componente ztable le debes asignar a la propiedad connection el nombre de tu zconnection y darle las sig propiedades

connection: zconection1
table: nombre de la tabla
active: true

3. si quieres verlo en un dbgrid necesitas un componente data source ( de la paleta data access) a quien le asignas en su propiedad dataset el nombre de tu ztable. a tu db grid le asignas en su propiedad data source el nombre de tu componente data source.


espero te sirva...
Saludos...
Responder Con Cita
  #5  
Antiguo 10-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 13
franroju Va por buen camino
Gracias por la respuesta kapcomx. Pero todo lo que me decís que haga está puesto en el código cuando abrí este hilo. La asociación del DBGrid con el DataSource y de este con la tabla, no es por código, por eso no la puse. Todavía no lo pude solucionar, así que si alguien me quiere ayudar, se los agradecería mucho.
Responder Con Cita
  #6  
Antiguo 10-01-2012
beginner01 beginner01 is offline
Miembro
NULL
 
Registrado: mar 2011
Ubicación: República Dominicana
Posts: 181
Poder: 14
beginner01 Va por buen camino
Cita:
Empezado por franroju Ver Mensaje
Hola. Soy nuevo en Zeos pero leyendo por estos foros vi que esta muy recomendado y decidí utilizarlo en una aplicación de prueba. Me surgió el siguiente problema:

Tengo en un form un ZConnection, un ZTable, un DataSource y un DBGrid. Creo la base de datos externamente, es decir, con un soft. de administración de base de datos, conecto las "piezas" y funciona perfectamente.

Ahora bien, quiero crear la base de datos y las tablas desde delphi, para facilitar la instalación en el cliente. Para esto utilizo un ZSQLProcessor en el cual escribo los scripts SQL, y no me informa ningún error, pero el DBGrid queda en blanco, es decir, sin datos y sin el nombre de las columnas. Como que algo falla en la conexión. Les paso el código para que vean las propiedades que modifico, tal vez olvido alguna o hago algo mal y no me doy cuenta.

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ZSQLProcessor1.Script.Add('CREATE DATABASE IF NOT EXISTS prueba;');
  ZSQLProcessor1.Script.Add('USE prueba;');
  ZSQLProcessor1.Script.Add('CREATE TABLE IF NOT EXISTS `cuentacorriente` (`numero` int(9) NOT NULL, `nombre` varchar(20) NOT NULL, `monto` float(8,2) NOT NULL,  PRIMARY KEY  (`numero`));');
  ZSQLProcessor1.Execute;

  con.Database := 'prueba'; //ZConnection
  con.Catalog := 'prueba';
  con.Connect;
  con.Connected;
  ZTable1.TableName := 'cuentacorriente';
  ZTable1.Properties.Add('select * from cuentacorriente;');
  ZTable1.Active;
end;

La base de datos y la tabla las crea. Supongo que hay alguna falla con el ZTable pero no me doy cuenta cual puede ser. Hago un Showmessage de la propiedad Active de la tabla y me da 0, o sea que no queda activa y no puedo saber por qué.
Muchas gracias y espero su ayuda.

Hola.

Prueba cambiar las líneas en rojo por esto.

Código Delphi [-]
con.Connected := True;

ZTable1.Active := True;
Responder Con Cita
  #7  
Antiguo 10-01-2012
franroju franroju is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 55
Poder: 13
franroju Va por buen camino
Gracias beginner01, lo solucioné pero además de tu recomendación, debía anteponerle el nombre de la base al nombre de la tabla. Es decir:

Código Delphi [-]
ZTable1.TableName := 'prueba.cuentacorriente';

Muchas gracias igual!!
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
Problemas con la conexion con Zeos Pachangero MySQL 5 24-01-2009 19:04:26
Cómo cerrar conexión? Delphi, Zeos y Postgres mangels PostgreSQL 4 16-11-2007 16:00:59
Conexion Zeos 6.5.1 a MySql 5.xx LoboMDQ Conexión con bases de datos 6 20-01-2007 18:53:20
Conexion con MySQL y Zeos Maury Manosalva Conexión con bases de datos 3 05-06-2006 18:30:00
Conexión Zeos a AS400 caiac Conexión con bases de datos 0 04-04-2006 12:45:08


La franja horaria es GMT +2. Ahora son las 12:09:42.


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