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)
-   -   Problema con ZUpdateSQL de libreria ZEOS [Delphi] (https://www.clubdelphi.com/foros/showthread.php?t=79714)

djMadox 02-08-2012 14:26:52

Problema con ZUpdateSQL de libreria ZEOS [Delphi]
 
Buen día, tarde o noche,
He estado buscando ya a algún tiempo y no he encontrado solución todavía...
Mi problema es el siguiente, estoy intentando ingresar datos a la BD, estoy utilizando Delphi 7, MySql y la librería ZEOS.

El programa no me tira ningún error, pero tampoco ingresa los datos...

El código que he estado modificando y probando es:

Código Delphi [-]
dm.ZUpdateSQL1.InsertSQL.Text:='INSERT INTO empleados (ci, nom) VALUES('+quotedstr(ci)+', '+quotedstr(nom)+');';

Aun no he encontrado el error...
Saludos!

Cañones 02-08-2012 21:45:50

y que error te tira?

Casimiro Notevi 02-08-2012 21:52:40

Tendrás que ampliar bastante la información ;)
Por cierto, bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

roman 02-08-2012 21:57:06

Cita:

Empezado por Cañones (Mensaje 438737)
y que error te tira?

Cita:

Empezado por djMadox (Mensaje 438689)
El programa no me tira ningún error, pero tampoco ingresa los datos...

:rolleyes:

// Saludos

roman 02-08-2012 21:59:10

Cita:

Empezado por djMadox (Mensaje 438689)
El código que he estado modificando y probando es:

Código Delphi [-]
dm.ZUpdateSQL1.InsertSQL.Text:='INSERT INTO empleados (ci, nom) VALUES('+quotedstr(ci)+', '+quotedstr(nom)+');';

Haré un pregunta que puede ser muy obvia para muchos, pero como no conocemos tu nivel en delphi, no está de más...

¿Después de esa línea de código estás llamando a dm.ZUpdateSQL1.ExecSQL?

// Saludos

djMadox 03-08-2012 14:42:42

...
 
Todavia estoy empezando en Delphi,
Intenté llamar a esta funcion y me dice: Undeclared Indentifier: "ExecSQL"...
...
Intenté ExecuteAction, pero tampoco me dío resultado...
Como dije, soy principiante en el tema...
Si me pueden ayudar, por favor...
Saludos! :D

djMadox 03-08-2012 16:07:40

Muchisimas gracias...
 
Solucioné el problema...
Agradezco a cada una de las personas que me ayudaron...

La solución fue la siguiente:
Código Delphi [-]
dm.ZSQLProcessor1.Script.Add('INSERT INTO empleados (ci, nom) VALUES('+quotedstr(ci)+', '+quotedstr(nombre)+');');
dm.ZSQLProcessor1.Execute;

Una vez más, muchisimas gracias!^\||/

roman 03-08-2012 17:41:20

El componente ZSQLProcessor está pensado para ejecutar múltiples consultas a la vez. Y por lo que veo ahora, antes estabas usando un ZUpdateSQL que no está pensado para usarse sólo.

Realmente. lo más adecuado sería usar un componente ZQuery y su método ExecSQL como te había dicho:

Código Delphi [-]
dm.ZQuery1.SQL.Add('INSERT INTO empleados (ci, nom) VALUES('+quotedstr(ci)+', '+quotedstr(nombre)+');');
dm.ZQuery1.ExecSQL;

// Saludos

djMadox 03-08-2012 18:58:13

Gracias,
 
Ya lo arregle, Muchisimas gracias a todos...
:)
Saludos

Cañones 04-08-2012 04:53:31

Cita:

Empezado por roman (Mensaje 438796)
El componente ZSQLProcessor está pensado para ejecutar múltiples consultas a la vez. Y por lo que veo ahora, antes estabas usando un ZUpdateSQL que no está pensado para usarse sólo.

Realmente. lo más adecuado sería usar un componente ZQuery y su método ExecSQL como te había dicho:

Cita:

Empezado por djMadox (Mensaje 438799)
Ya lo arregle, Muchisimas gracias a todos...
:)
Saludos

Ya que estás en proceso de aprendizaje, creo que sería bueno que aprendas del modo que te indica Roman.
Saludos.

Casimiro Notevi 04-08-2012 09:31:55

Cita:

Empezado por Cañones (Mensaje 438830)
Ya que estás en proceso de aprendizaje, creo que sería bueno que aprendas del modo que te indica Roman.
Saludos.

Cierto.

Además no olvides "limpiar" la sentencia antes de:
Código Delphi [-]
dm.ZQuery1.SQL.Add('INSERT INTO empleados (ci, nom) VALUES('+quotedstr(ci)+', '+quotedstr(nombre)+');');

Debes poner:

Código Delphi [-]
dm.ZQuery1.SQL.Clear;
dm.ZQuery1.SQL.Add('INSERT INTO empleados (ci, nom) VALUES('+quotedstr(ci)+', '+quotedstr(nombre)+');');

En caso contrario, te funcionará la primera vez, y ya no más.

roman 04-08-2012 15:45:27

Cierto. Tiene que limpiar la sentencia. Aunque, a decir verdad, no entiendo porqué la gente sigue programando las consultas al vuelo. Para eso pueden ponerse en el inspector de objetos y se tiene bien separado el código SQL del resto.

// Saludos

Casimiro Notevi 04-08-2012 15:59:27

Cita:

Empezado por roman (Mensaje 438838)
.. no entiendo porqué la gente sigue programando las consultas al vuelo.

Seguramente por desconocimiento.

djMadox 08-08-2012 15:55:40

explico...
 
Estamos intentando terminar el diseño todavia, una vez terminado eso nos vamos a dedicar a mejorar las consultas y optimizar el programa...

Si no les molesta, sabrían decirme como podria hacer para que la información de la bd apareciera en un label?
Debo utilizar un TDBText?
Ah, y como hago para pasar parametros al Zquery, porque me tira el error: "parameter not found"...

Saludos, y una vez más, gracias...

Casimiro Notevi 08-08-2012 15:59:21

¿Ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

roman 08-08-2012 17:27:15

Cita:

Empezado por djMadox (Mensaje 439091)
Estamos intentando terminar el diseño todavia, una vez terminado eso nos vamos a dedicar a mejorar las consultas y optimizar el programa...

Si no les molesta, sabrían decirme como podria hacer para que la información de la bd apareciera en un label?
Debo utilizar un TDBText?
Ah, y como hago para pasar parametros al Zquery, porque me tira el error: "parameter not found"...

Saludos, y una vez más, gracias...

Por favor, para nuevas preguntas no relacionadas, nuevos hilos. Además, siempre que preguntes algo que te mande un error, como mínimo muestra el código que lo genera. De lo contrario, ¿cómo podremos saber la causa del error?

// Saludos


La franja horaria es GMT +2. Ahora son las 03:22:51.

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