Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   que signica este error? (https://www.clubdelphi.com/foros/showthread.php?t=16522)

jam888 01-12-2004 04:16:50

que signica este error?
 
que tal amigos del foro les cuento que luego de mucho fastidiar me sigue saliendo este error
project empleados.exe raised exeption class eibclienterror whit message 'sql parse error'
EOF instring detected .process stoped use step or run to continue.
esta es la insercion
IBQueryEmp.SQL.Add('insert into empleado values (');
IBQueryEmp.SQL.Add(IntToStr(a)+','+FlatDNI.Text+','+IntToStr(ComboTipDoc.KeyValue)+',');
IBQueryEmp.SQL.Add(com+FlatApellido.Text+com+','+com+FlatNombre.Text+com+',');
IBQueryEmp.SQL.Add(com+FlatCalle.Text+com+','+FlatNum.Text+','+com+FlatBarrio.Text+com+',');
IBQueryEmp.SQL.Add(com+fechanac+com+','+com+FlatTel.Text+com+','+com+FlatEmail.Text+com+',');
IBQueryEmp.SQL.Add(com+FlatPiso.Text+com+','+com+IntToStr(ComboCodPost.KeyValue)+com+',');
IBQueryEmp.SQL.Add(com+fechaing+com+','+com+fechaeg+com+','+IntToStr(ComboCateg.KeyValue)+',');
IBQueryEmp.SQL.Add(com+'0'+com+')');
que es ese error?

roman 01-12-2004 09:10:40

Es un poco difícil verlo así. Sería mejor que pusieras el valor de IBQueryEmp.SQL.Text luego de ejecutado este código. Así, a primera vista y guíandome por el mensaje de error se trata simplemente de una consulta mal formada por alguna comilla que falta.

// Saludos

Neftali [Germán.Estévez] 01-12-2004 09:32:25

Cuando tengas que añadir valores de un campo String a una sentenciqa SQL utiliza la función QuoteStr de delphi, para que los valores se añadan con comillas, de esa forma evitarás errores con las propias comillas que marcan el principio y final de la cadena (la otra opción son parámetos);
Por ejemplo:

Código Delphi [-]
IBQueryEmp.SQL.Add('insert into empleado values (');
IBQueryEmp.SQL.Add(IntToStr(a)+','+ QuoteStr(FlatDNI.Text) +','+...
...

Suponiendo que el segundo campos sea de tipo String.

defcon1_es 01-12-2004 09:32:58

Hola,
El error indica que la sentencia SQL está mal construida, hay un error de sintáxis.
La sentencia INSERT INTO tiene la siguiente estructura:
Código SQL [-]
INSERT INTO tabla (campo1,..,campoN) VALUES (Valor1,..,ValorN)

En tu sentencia, no has definido los campos a los que vas a almacenar los valores.

¿No podías haber puesto el contenido "real" de la sentencia SQL?
Esto es muy difícil de entender... ¿qué valor tiene com?

Lo dicho, revisa la sentencia.

Salu2.

roman 01-12-2004 16:00:13

Cita:

Empezado por defcon1_es
¿qué valor tiene com?

Al igual que Neftali, estaba por indicarle lo de QuotedStr en los campos de texto pero al ver tanto com en parejas supuse que se trata de

com := '"';

De cualquier forma ciertamente será más claro que use QuotedStr y que vea la consulta ya generada.

// Saludos

jam888 02-12-2004 18:04:51

Gracias
 
Muchas gracias con el qouet ese anda de maravillas


La franja horaria es GMT +2. Ahora son las 09:01:31.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi