Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-11-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Sobre los componentes Zeos

Saludos foreros.

Iniciandome con los componentes Zeos como posible elección para controlar una base de datos desde Delphi2007 tengo varias dudas, como es normal ya que nunca manejé SQL.

Alguien sabe algún enlace donde pudiera encontrar una ayuda de Zeos similar a la que se incluye en la ayuda de Delphi2007 al instalar por ejemplo los componentes Indy ??? Me ayudaría bastante y ahorraría preguntas tontas en el foro

Mi problema concreto ahora mismo intuyo que es bastante sencillo pero aún no he conseguido encontrar ninguna referencia que me ayude.
Para probar los componentes lo único que me propuse hacer es moostrar los datos de una de mis tablas en un DBGrid. Mediante uno de los dos métodos siguientes:

ZConnection --> ZQuery --> DataSource --> DBGrid
ZConnection --> ZTable --> DataSource --> DBGrid

Tras configurar las propiedades y solucinar algún que otro erro fácil, lo más lejos que llego con cualquiera de los dos caminos es al error: RANGE CHECK ERROR.
Y aún no sé a que se debe.

Agradecería vuestra ayuda.
Responder Con Cita
  #2  
Antiguo 25-11-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
- Muestranos el código que utilizas, para que podamos ver cómo lo haces (y si es correcto)
- Supongo que la base de datos que quieres utilizar es MySQL (por el grupo en el que está este post). De no ser así debes indicarnoslo.
- También ayudaría que nos comentaras en qué punto da el error
* Puede ser cuando abres la conexión
* Puede ser cuando abres el ZQuery o ZTable
* Puede ser que al mostrar el grid, haya un problema de rangos (algo muy grande que no cabe donde le decimos que lo muestr)
- También deberías mostrarnos la sentencia SQL que utilizas en el ZQuery o ZTable
Responder Con Cita
  #3  
Antiguo 01-12-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
- Muestranos el código que utilizas, para que podamos ver cómo lo haces (y si es correcto)
- Supongo que la base de datos que quieres utilizar es MySQL (por el grupo en el que está este post). De no ser así debes indicarnoslo.
- También ayudaría que nos comentaras en qué punto da el error
* Puede ser cuando abres la conexión
* Puede ser cuando abres el ZQuery o ZTable
* Puede ser que al mostrar el grid, haya un problema de rangos (algo muy grande que no cabe donde le decimos que lo muestr)
- También deberías mostrarnos la sentencia SQL que utilizas en el ZQuery o ZTable
La base de datos es MySQL, sí.
Intento hacer el ejemplo más simple posible, sólo establecer los vínculos, conectar y sacar algún dato para ver que funciona bien pero ni eso me funciona.
Con el ZQuery tengo dos tipos de errores:
"Range checking error", que supongo que será pq la DBGrid no tiene las dimensiones correctas, con la sentencia sql (SELECT * FROM eventos que selecciona un rango de datos
"Unknown MySQL data type" con la sentencia (SELECT idusuario FROM eventos WHERE idevento=3 que generaría un sólo dato.
El error me lo da cuando intento poner a True la propiedad Miscellaneous -> Active -> True en el Object inspertor de ZQuery.

La conexión la hace bien. O al menos no arroja error, con el ZConnection.

Muchas gracias a todos
Responder Con Cita
  #4  
Antiguo 01-12-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Trata de ir por partes, para ver el error.
Haz un form que solo contenga el ZConnection y un botón que lo abra.
Ejecuta esto y fíjate si funciona correctamente.

Luego Agrega un ZQuery y otro botón que lo abra.
Ejecuta, presiona el primer botón y luege este último y verifica que no da ningun error.

Agrega un DataSource y un grid y únelos al ZQuery.
Ejecuta el programa, presiona el primer botón para conectar, luego el segundo para abrir el ZQuery y fíjate si da error.

Postea tu código y dinos en qué línea da el error. Con lo que escribes no saco nada en claro.
Responder Con Cita
  #5  
Antiguo 02-12-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Cita:
Empezado por duilioisola Ver Mensaje
Trata de ir por partes, para ver el error.
Haz un form que solo contenga el ZConnection y un botón que lo abra.
Ejecuta esto y fíjate si funciona correctamente.

Luego Agrega un ZQuery y otro botón que lo abra.
Ejecuta, presiona el primer botón y luege este último y verifica que no da ningun error.

Agrega un DataSource y un grid y únelos al ZQuery.
Ejecuta el programa, presiona el primer botón para conectar, luego el segundo para abrir el ZQuery y fíjate si da error.

Postea tu código y dinos en qué línea da el error. Con lo que escribes no saco nada en claro.
OK, Gracias por tu ayuda.

Así lo he repetido, más paso a paso no lo puedo hacer:

Incluyo un ZConnection en un Form. Conectó y compruebo la propiedad connected. Ok
Compruebo varias propiedades más que me deja consultar y mostrarlas por ejemplo en un showmessage. Las únicas que no me deja consultar son ServerVersionStr y ClientVersionStr que arrojan el error de lectura de memoria: "Lectura de 0000000".

Incluyo un ZQuery y lo activo. En las sentencias SQL del ZQuery incluyo algunas como:
Código SQL [-]
INSERT INTO eventos (idevento,idusuario) VALUES (10,5);
SELECT * FROM eventos;
SELECT idusuario FROM eventos;

Y aparecen errores varios:
Con INSERT --> "Can not open a result set", supongo que será porque no lo muestro. Inserta los valores correctamente en la tabla. Lo miro usando SQLyog.
Con SELECT --> "Range check error"

Otro error aparece cuando intento poner más de una línea en las sentencias SQL de ZQuery, "Syntax error"

Prácticamente no hay código, pero por si acaso:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ZAbstractRODataset, ZAbstractDataset,
  ZAbstractTable, ZDataset, ZConnection, StdCtrls, Mask, DBCtrls, zdbcmysqlutils;

type
  TForm1 = class(TForm)
    ZConnection1: TZConnection;
    ZConnection: TButton;
    ZQuery1: TZQuery;
    ZQuery: TButton;
    procedure ZConnectionClick(Sender: TObject);
    procedure ZQueryClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ZConnectionClick(Sender: TObject);
begin
  zconnection1.Connect;
  if zconnection1.Connected then showmessage('Conectado a la base de datos ' + zconnection1.Database);
end;

procedure TForm1.ZQueryClick(Sender: TObject);
begin
  ZQuery1.Active := true;
end;

end.

De nuevo gracias por la ayuda
Responder Con Cita
  #6  
Antiguo 02-12-2008
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Wink

Cita:
Empezado por chalao Ver Mensaje

Así lo he repetido, más paso a paso no lo puedo hacer:

Incluyo un ZConnection en un Form. Conectó y compruebo la propiedad connected. Ok
Compruebo varias propiedades más que me deja consultar y mostrarlas por ejemplo en un showmessage. Las únicas que no me deja consultar son ServerVersionStr y ClientVersionStr que arrojan el error de lectura de memoria: "Lectura de 0000000".

Incluyo un ZQuery y lo activo. En las sentencias SQL del ZQuery incluyo algunas como:
Código SQL [-]
INSERT INTO eventos (idevento,idusuario) VALUES (10,5);
SELECT * FROM eventos;
SELECT idusuario FROM eventos;

Y aparecen errores varios:
Con INSERT --> "Can not open a result set", supongo que será porque no lo muestro. Inserta los valores correctamente en la tabla. Lo miro usando SQLyog.
Con SELECT --> "Range check error"

De nuevo gracias por la ayuda
Bueno, al parecer hay un error en la nueva versión de ZEOS. Yo descargué la versión 6.6.4 stable y al intentar "select * from tabla" me sale "Range check error"
Tengo MySQL 5.0.27 y delphi 7; tuve innumerables inconvenientes con el ZEOS nuevo y opté por lo sano, me instalé una versión mas vieja: ZEOS 6.1.5 y se acabó el "range check error", eso si, tuve que hacer que MYSql trabaje con la encriptación vieja de la siguiente manera:

Código SQL [-]
GRANT ALL PRIVILEGES ON *.* TO root@'hostname' IDENTIFIED BY 'root-password'

SET PASSWORD FOR 'root'@'hostname' = OLD_PASSWORD('contraseña')

Si quieres el ZEOS viejo avisame que lo subo al hilo.

Saludos.

Santiago
__________________
Uno es responsable de lo que hace y de lo que omite hacer.

Última edición por santiago14 fecha: 02-12-2008 a las 14:46:49. Razón: Errores de ortografía
Responder Con Cita
  #7  
Antiguo 02-12-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
me acabo de quedar loco, no me digas que es porque los Zeos están mal? Es seguro eso? a alguien más le pasó? Quisiera estar seguro antes de quitar y poner componentes...
Responder Con Cita
  #8  
Antiguo 02-12-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
Algo lei de que utiliza nuevas dll's para el mysql, y hay que quitar las viejitas pero no recuerdo ni donde lo lei, a lo mejor es por eso
Responder Con Cita
  #9  
Antiguo 03-12-2008
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Smile zeos

Bueno, tal vez estemos exagerando un poco, no sabemos si en realidad funcionan tan mal. Lo que si sabemos es que por alguna razón no podemos hacer que funcionen bien.
La última versión que hay no trae las dll's necesarias y lo aclara en su reporte de instalación, eso dificulta la cosa pues no estamos seguros de que librerías son las correctas.

Para ir redondeando, estuve tres días intentando hacer andar el ZEOS nuevo y nada, corregía un error y me salía otro. Lo estaba probando con una aplicación que había desarrollado hace unos años y en ese entonces todo iba de maravillas. Claro era MySQL 4, ahora tengo el 5.

Yo creo que hay que investigar un poco mas, hasta que le encontremos la vuelta al nuevo es mejor usar una versión mas viejita así no retrasamos nuestros proyectos y darnos un tiempito para analizar la versión nueva.

Bueno, saludos para todos.

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #10  
Antiguo 03-12-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Visto lo visto cambiaré a una versión más antigua de Zeos de momento. El problema ahora es que tengo Delphi2007 y MySQL 5, los Zeos 6.1.5 funcionarían? Creo que no tiran con MySQL 5 no? Ni con D2007
Cual sería la combinación de versiones idónea para que todo vaya perfecto? No me importaría cambiar de MySQL pero me quedo con Delphi2007

Saludos y gracias

Última edición por chalao fecha: 03-12-2008 a las 09:56:26.
Responder Con Cita
  #11  
Antiguo 03-12-2008
chalao chalao is offline
Miembro
 
Registrado: sep 2008
Posts: 26
Poder: 0
chalao Va por buen camino
Thumbs up

Yo mismo.

En mi enésimo repaso a todas las cuestiones sobre Zeos que trata el foro, en el post http://www.clubdelphi.com/foros/show...161#post329161
, tocomi propone descargar la versión 6.6.0 y utilizar los dlls de ésta para la versión 6.6.3. Y voilà! todo funciona correcto a la primera.
PD. Seguiré entonces con D2007, MySQL5 y Zeos663

Saludos
Responder Con Cita
  #12  
Antiguo 03-12-2008
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Thumbs up Zeos

Interesante teoría:
ZEOS 663 con librerías de la 6.6.0, D2007 ó D7 en mi caso, MySQL 5. Y todo de maravillas.

Probaré....

Saludos.

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
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
Instalar Componentes ZEOS Roilo MySQL 11 17-08-2007 21:53:26
Componentes ZEOS drakkon OOP 2 14-06-2007 16:22:22
ayuda con componentes zeos zanyodark C++ Builder 5 16-05-2007 22:09:44
Componentes Zeos jimmyx017 Conexión con bases de datos 2 12-10-2005 12:42:30
componentes ZEOS y Delphi 7 edfz Conexión con bases de datos 3 04-04-2004 22:14:17


La franja horaria es GMT +2. Ahora son las 16:09:24.


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