Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   ZQuery: Field 'Nombre' not found delphi (https://www.clubdelphi.com/foros/showthread.php?t=74733)

JerS 07-07-2011 15:24:17

ZQuery: Field 'Nombre' not found delphi
 
Buenas amigos tengo un problema con lo siguiente realizo esta consulta

Código Delphi [-]
try
ZQuery2.Close;
ZQuery2.SQL.Clear;
ZQuery2.SQL.Add('Select A,B,C from DetallePersonal Inner Join TipoPersonal On cod_tipo=codigo and cedula='+quotedstr(cedula));
ZQuery2.Open;
   IF Not ZQuery2.Eof Then
    Begin
     A:=ZQuery2.fieldbyname('A').AsInteger;
     B:=inttostr(ZQuery2.fieldbyname('B').AsInteger);
     C:=ZQuery2.fieldbyname('C').AsInteger;
    End;
Except on e: exception do
End;

y de vez en cuando me arroja esta excepción

Código Delphi [-]
ZQuery2: Field 'D' not found

lo que me parece muy raro es que en la consulta no estoy trayendo el valor de D ni mucho menos estoy tratando de asignárselo a ninguna variable.

no se si es que el ZQuery2 esta trayendo una consulta vieja, pero pensando en eso hago ZQuer2.Close; ZQuery2.SQL.Clear;

agradeceria su ayuda

marcoszorrilla 07-07-2011 15:48:24

Puede ser que hayas creado campos persistentes en algún momento y no los hayas borrado de la lista y se te haya quedado el campo D, que ahora no existe?.

Un Saludo.

Caro 07-07-2011 15:55:31

Hola JerS, yo también pienso que tienes campos persistentes, has doble click sobre tu ZQuery2 para que los veas.

Saluditos

JerS 07-07-2011 16:04:18

Amigos le di doble click tal cual como me comento Caro , pero no muestra ningún campo persistente!

Caro 07-07-2011 16:21:02

Hola de nuevo, otra cosa que se me ocurre, es que talves tengas en tu ZQuery en diseño una consulta como 'Select * From tabla' y en algún lado el campo 'D' hayas relacionado con algún componente de base de datos como un DBEdit ........., en ese caso también te daría ese error, ya que con la nueva consulta no estarías mostrando el campo D.

Saluditos

JerS 07-07-2011 17:20:25

Caro no tengo asociado ese ZQuery a ningun componente de base de datos pero mas adelante en mi codigo utilizo el mismo ZQuery para hacer una consulta en la que si Incluyo el campo 'D' y como este evento donde esta asociado este ZQuery se ejecuta varias veces por minuto no se si pueda afectar

Código Delphi [-]
sqla:='';
sqlb:='';
ZQuery2.close;
ZQuery2.SQL.Clear;
sqla:='Select A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,(if(P="00:00:00","00:00:00",P))as Q,R,S,T ';
sqlb:='from DetallePersonal d inner join TipoPersonal t On d.cedula='+quotedstr(cedula)+'and d.cod_tipo=t.codigo';
ZQuery2.SQL.Add(sqla+sqlb);
ZQuery2.Open;

marcoszorrilla 07-07-2011 17:26:03

Puede ser que haya concurrencia en el uso del Zquery2, creo que si creas un Zquery3 para este propósito y dejas el 2 para el anterior quedará resuelto.

Un Saludo.

JerS 07-07-2011 20:32:06

Cita:

Empezado por marcoszorrilla (Mensaje 405757)
Puede ser que haya concurrencia en el uso del Zquery2, creo que si creas un Zquery3 para este propósito y dejas el 2 para el anterior quedará resuelto.

Un Saludo.

Muchas gracias por el Dato! lo tomare en cuenta! aunque si la forma de ejecutarse el secuencial no debería de presentarse problemas de concurrencia! porque para poder pasar por el lado B tiene que pasar primero por el A.


La franja horaria es GMT +2. Ahora son las 21:23:45.

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