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)
-   -   Ayuda con MYSQL y Zeos (https://www.clubdelphi.com/foros/showthread.php?t=43219)

Muchachin 04-05-2007 22:19:35

Ayuda con MYSQL y Zeos
 
Hola soy nuevo en el foro, e igual en delphi. Estoy comenzando a desarrollar una aplicacion en delphi 6.0 y estoy tratando de conectarme a una base de datos en mysql 5.0.22, ya logre conectarme a la base de datos usando los componentes de zeos.

Pero me gustaria si alguien me pudiera indicar un tutorial, manual o al menos ayuda en el uso adecuado del componente de zeos, para poder aprovecharlo al maximo.

Ya que aun no he buscado la forma correcta de hacer consultas en mi base de datos.

Gracias de antemano

Caral 04-05-2007 22:55:35

Hola
Aqui:
http://www.terawiki.clubdelphi.com/
Hay un ejemplo de conexion a base de datos, tal vez te sirva.
[Ejemplo] Conexion Bases Datos. Zip
Saludos

AzidRain 05-05-2007 00:59:44

La forma mas simple:

Pon un componente TZQuery, le asignas la conexion (que ya sabes como crearla) a un componenten TZConnection. Luego editas la propiedad SQL que es en donde vas a poner el codigo SQL que quieres que tu consulta ejecute. Para empezar puedes usar esto "SELECT * FROM NOMBRE_TABLA" que es muy general pero para practicar esta bien. Y tu query se comportará como una tabla "plana" la cual puedes manipular como se hace en aquellas.

Muchachin 07-05-2007 23:14:38

Gracias, me sirvio el ejemplo.

Pero hay algo que aun no puedo hacer, agregar el contenido de un TEdit o un Combobox a mi consulta.

Esto es lo que estoy haciendo:

Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
        ZQuery1.SQL.Add('SELECT * FROM datposte WHERE feccenso="'+Edit1.Text+'"');
        ZQuery1.Active;
        ZQuery1.ExecSQL;
end;

Cuando lo ejecuto me sale un aviso que dice que no encuentra un archivo
Source File Not Found: ZDbcMySqlUtils.pas

Y luego me manda un error de sintaxis de mysql, aunque dicha sentencia este correcta.

Si alguien sabe como solucionar esto o sabe donde conseguir ese archivo que me pide, se los agradeceria

Caral 07-05-2007 23:18:04

Hola
feccenso es una fecha? o que?
Saludos

eduarcol 07-05-2007 23:24:26

Prueba con esta instruccion

Código SQL [-]
        ZQuery1.SQL.Add('SELECT * FROM datposte WHERE feccenso=:par');
        ZQuery1.ParambyName('par').value := Edit1.Text;
        ZQuery1.Active;
        ZQuery1.ExecSQL;

Y respecto al file not found, prueba añadir la carpeta build del paquete de instalacion respectivo de zeos a ver si se soluciona.

//suerte

Caral 07-05-2007 23:28:13

Hola
Suponiendo que sea una fecha:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
        ZQuery1.SQL.Add('SELECT * FROM datposte WHERE feccenso= '+DateToStr(Edit1.Text));
        ZQuery1.Active;
       ZQuery1.ExecSQL;
end;
Suponiendo que sea un numero (integer):
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
        ZQuery1.SQL.Add('SELECT * FROM datposte WHERE feccenso= '+IntToStr(Edit1.Text));
          ZQuery1.Active;
         ZQuery1.ExecSQL;
end;
Si fuera float:
Código Delphi [-]
WHERE feccenso= '+FloatToStr(Edit1.Text));
Y asi sucesivamente.
Saludos

Muchachin 07-05-2007 23:37:36

Si feccenso es una fecha.

Ahorita reviso si me funciona tu codigo eduarcol

Gracias por su pronta respuesta.

Caral 07-05-2007 23:44:54

Hola
Si es una fecha no va a funcionar el codigo de eduarcol, como esta, tienes que modificar el value asi:
Código Delphi [-]
ZQuery1.SQL.Add('SELECT * FROM datposte WHERE feccenso =  :Par');
        ZQuery1.ParambyName('Par').AsDate := Edit1.Text;
        ZQuery1.Active;
        ZQuery1.ExecSQL;
Lo mas seguro es que eduarcol, tuviera la misma duda que yo al respecto.
Saludos

egostar 07-05-2007 23:50:34

Perdonen mi ignorancia sobre los componentes Zeos,

Pero esto no me suena muy bien

Código Delphi [-]
 
ZQuery1.Active;
ZQuery1.ExecSQL;

No sería solo

Código Delphi [-]
 
ZQuery1.Open;

Salud OS.

Caral 07-05-2007 23:56:07

Hola egostar
Nada de ignorancia Maestro.
Tienes toda la razon, las dos juntas no se necesitan a abres o ejecutas, es esencialmente lo mismo.
Active o open : devuelven el resultado.
ExecSQL: ejecuta pero no devuelve nada.
Estas en todas, maestro:D
Por cierto no tiene nada que ver los componentes zeos en esto.
Saludos

eduarcol 08-05-2007 17:41:53

Tenia exactamente la misma duda por eso lo del "value".

Me gusta trabajar mas con parametros que colocando el valor directamente porque no se depende del valor de configuracion del servidor de base de datos para el formato de la fecha

Muchachin 09-05-2007 00:27:27

hola yo de nuevo...

Ya probe los codigos que me pasaron pero me sigue saliendo el error del archivo no encontrado.

Source File Not Found: ZDbcMySqlUtils.pas

Y estuve revisando en los archivos que instale de zeos y no lo encuentro, alguien sabe donde se localiza ese archivo??, porque al no localizar ese archivo me sigue mostrando error, con todos los codigos que uds pusieron

Por cierto para instalar el zeos, segui un tutorial que hay en el club, el de como instalar la lib zeos y no morir en el intento...o algo asi se llamaba

raf.rsr 09-05-2007 19:56:47

Hola amigo

La verdad zeos es un dolor de cabeza para instalarlo:( y es bastante dificil que te diga que no te faltan archivos una vez instalado..Despues de casi morir en el intento logre hallar este link;)

http://zeosdownload.firmos.at/downlo...6.6.1-beta.zip

con este logre logre instalarlo y usarlo en 3 minutos, INCREIBLE :eek:,lo unico que hize fue copiarlo, añadir al path la carpeta lib y sus subcarpetas, ademas de la carpeta build que se encuentra en "packages\DelphiXX\build"
y despues instalar el paquete

Espero que te sirva;)

Muchachin 09-05-2007 22:42:39

hola, gracias por el link, ya no me sale el aviso de archivo no encontrado....
pero aun asi no logro que realize mi consulta, me sigue marcando error en la sintaxis, ya probe todo lo que se me ocurre, incluso cambie el campo de busqueda, para ver si era un problema con la fecha, pero nada.

Si alguien me pudiera apuntar hacia un manual de referencia o algo sobre el uso de los componentes de zeos. Seria de mucha ayuda

Hola, creo que ya pude resolver el problema, cambie el codigo de la siguiente forma:
Código:

procedure TForm1.Button1Click(Sender: TObject);
begin
        ZQuery1.SQL.Clear;
        ZQuery1.SQL.Add('SELECT * FROM dirred WHERE feccenso=:fec');
        ZQuery1.ParamByName('fec').AsString:=Edit1.Text;
        ZQuery1.Open;
end;

y me funciono


La franja horaria es GMT +2. Ahora son las 12:39:01.

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