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 zeos (https://www.clubdelphi.com/foros/showthread.php?t=56334)

aleja 14-05-2008 20:23:50

problema con zeos
 
Hola de nuevo... estoy hacprogramando una prueba muy simple utilizando zeos. Tengo una base de datos "agenda" con una tabla "datospersona" en mysql, un form con un un zconnection, zquery, 6 edits en los q ingreso los datos y un boton que tiene la funcion de registrar lo ingresado, utilizo el sgte codigo:

zquery1.Close;
zquery1.SQL.Clear;
zquery1.SQL.Add('insert into datospersonales values (: idpersona, :nombre, :apellido, :direccion, :telefono, :email, :celular)');
zquery1.ParamByName('idpersona').AsInteger:=0;
zquery1.ParamByName('nombre').AsString:=edit1.Text;
zquery1.parambyname('apellido').AsString:=edit2.Text;
zquery1.ParamByName('direccion').AsString:=edit3.Text;
zquery1.ParamByName('telefono').AsString:=edit4.Text;
zquery1.ParamByName('email').AsString:=edit5.Text;
zquery1.ParamByName('celular').asstring:=edit6.Text;
zquery1.ExecSQL;

cuando corro el programita prueba, me sale un error en un .pas de Zeos, el siguietne error: EZDataerror "Incorrect token followed by:" y me abre la unidad ZsqlString de Zeos, esta mal instalado mi Zeos? o que puede ser?:eek:

roman 14-05-2008 20:35:43

A primera vista parece que el error está aquí:

Código Delphi [-]
zquery1.SQL.Add('insert into datospersonales values (: idpersona, :nombre, :apellido, :direccion, :telefono, :email, :celular)');

No puede haber ese espacio entre los dos puntos y el nombre del parámetro.

// Saludos

aleja 14-05-2008 20:48:32

Muchas gracias!!! la verdad cuando lei la respuesta me senti un poco tonta... porq yo pense que si era un error de sintaxis el compiladro no lo iba dejar pasar. Muchisimas gracias, de nuevo.

roman 14-05-2008 20:57:37

Cita:

Empezado por aleja (Mensaje 286681)
cuando lei la respuesta me senti un poco tonta... porq yo pense que si era un error de sintaxis el compiladro no lo iba dejar pasar.

No hay porqué sentirse así. Verás, normalmente es cierto que un error de sintaxis lo detecta el compilador antes de poder ejecutar el programa. Pero aquí no se trata de la sintaxis de un código pascal sino de una sentencia SQL. Delphi sólo se encarga de mandarla al servidor de datos, y es éste quien la interpreta. Por ello no es posible detectar un error así antes de la ejecución.

// Saludos

martinchooozzz 15-05-2008 15:54:13

hola gente, yo tambien uso zeos pero trabajo diferente, por ejemplo para insertar yo hago esto

zquery1.Insert;
zquery1.DatosperosnalesIdpersona.value:=0;
zquery1.Datosperosnalesnombre:=edit1.text;
.......
zquery1.post;

ahi alguna diferencia en hacerlo de una u otra manera en cuanto al resultado?
:confused:

poliburro 15-05-2008 16:39:49

En caunto a resultados no. Con relación al rendimiento Si.

Mientras en la primera envias la instrucción a la base de datos, en la segunda debes primer hacer la carga de todos los datos en la tabla para despúes poder agregar un campo.

Saludos.


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

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