[Lazarus-es] Error al intentar abrir un TSQLQuery

German german_morre en yahoo.com.ar
Mie Sep 4 21:47:54 CEST 2013


Hola Ismael

Probaste de agregar :
rsc3.IndexFieldNames := '';
dentro de tu procedimiento procedure Tdm.p_rssc3(sqlstr: string; 
blnread: boolean); ??

De cualquier manera no te convendria usar "order by" en tu query?, es 
decir agregar al final de tu cadena strsql:=strsql+ ' order by cuenta, 
sctaor, subcta, capor, capitulo, scapor, subcap, eleor, elemento, empor, 
empresa';
Luego si necesitas otro orden podes modificar el query ya que de 
cualquier manera lo cerras y volves a abrir.

saludos!

German

El 04/09/2013 04:35 p.m., Ismael L. Donis Garcia escribió:

> 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
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130904/89528f0f/attachment-0002.html>


More information about the Lazarus-es mailing list