[Lazarus-es] Error al intentar abrir un TSQLQuery

Ismael L. Donis Garcia ismael en citricos.co.cu
Mie Sep 4 21:35:39 CEST 2013


Cuando intento abrir un TSQLQuery que previamente lo había abierto y después 
le había pasado como parámetro un grupo de índices cuando lo intento abrir 
de nuevo con otro SQL me dice que un campo no existe. Yo se que no existe 
porque no está en el SQL, estaba en el SQL con que lo había abierto 
anteriormente, pero no con el que lo estoy intentando abrir de nuevo.

Relizo lo siguiente:

strsql := 'select s.cuenta, s.subcta, s.capitulo, s.subcap, s.elemento, 
s.empresa, s.debe, s.haber, s.saldo, s.nat, s.descripcion, ';
strsql := strsql + 's.nota, s.nota1, s.nota2, s.nota3, s.sctaor, s.capor, 
s.scapor, s.eleor, s.empor from scsal s where (s.idsa is null)';
dm.p_rssc3(strsql, false);

después le paso un índice d ela siguiente forma:

dm.rssc3.IndexFieldNames:='cuenta; sctaor; subcta; capor; capitulo; scapor; 
subcap; eleor; elemento; empor; empresa';

Y cuando lo intento abrir de nuevo con:

strsql := 'select s.cuenta, s.subcta, s.capitulo, s.subcap, s.elemento, 
s.empresa, s.saldo, s.descripcion, ';
strsql := strsql + 's.sctaor, s.capor, s.scapor, s.eleor from scsal s where 
(s.idsa is null)';
dm.p_rssc3(strsql, false);

Me da error en la línea: rssc3.Open;
Me dice que falta el campo empor el cual use en la cunsulta anterior, pero 
que por supuesto no está en esta.

El procedimiento que llamo es:

procedure Tdm.p_rssc3();
begin
  if trasc3.Active then trasc3.EndTransaction;
  rssc3.Close;
end;

procedure Tdm.p_rssc3(sqlstr: string; blnread: boolean);
begin
  p_rssc3();
  rssc3.Filter:='';
  rssc3.SQL.Clear;
  rssc3.SQL.Text := sqlstr;
  rssc3.ReadOnly := blnread;
  trasc3.StartTransaction;
  rssc3.Open;
end;


Se que el error me lo está dando por usar:

dm.rssc3.IndexFieldNames:=xxxx

Pero lo necesito usar.

E intentado resetear dicha propiedad por todas las vías antes de decir: 
rssc3.Open; pero no he encontrado la forma de como hacerlo sin que me de 
error.

Toda ayuda será bien venida.

Saludos Cordiales
========
| ISMAEL |
========
Only for the small landowners and Cubans companies
Website: www.sisconge.byethost15.com
              www.sisconge.hol.es 






More information about the Lazarus-es mailing list