[firebase-br] RES: Problema com SQL - SQL error code = -804

Zottis bzottis em ig.com.br
Qui Nov 29 12:16:13 -03 2012


Olá, vai fazendo parte por parte até descobrir o pedaço que esta dando erro,
pois sem as tabelas e os dados, não tem como ajudar.

Um abraço


-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Pedro Braga
Enviada em: quinta-feira, 29 de novembro de 2012 11:40
Para: FireBase
Assunto: Re: [firebase-br] Problema com SQL - SQL error code = -804

Cara o pior de tudo e que essa sql no ibexpert funciona corretamente e
quando coloco em um query no delphi da esse erro  Em 29/11/2012 10:15,
"Frederico Godoi" <frederico.godoi em gmail.com>
escreveu:

> Meu amigo, tentei ajudar, mas está complexo.
> Esse erro seu é de parênteses errados.
> Identa essa SQL sua em um programa como o IBExpert que ele te ajuda a 
> fechar tudo certinho.
> Qualquer coisa avisa ai.
>
> Abs
>
>
>
>
> 2012/11/29 Pedro Braga <bragaped em gmail.com>
>
> > Bom Dia, estou enfrentando um problema que consiste na seguinte 
> > situação
> ao
> > executar a SQL abaixo pelo IBExpert o mesmo executa com perfeição 
> > contudo ao executar a mesma pelo IBDataSet ou IBQuery no delphi 
> > gerar o erro
> abaixo
> >
> > SQL
> > select p.* from PRODUTOS p
> >  where p.cod_empresa = :cod_empresa  and p.situacao='A'
> >  and ( ((p.descricao like '%'|| :parametro || '%' ) or  
> > (p.cod_barras = substring( :parametro from 1 for 20)) or 
> > (p.cod_interno
> =
> > substring( :parametro from 1 for 20)) )  or exists( select 
> > gp.cod_prod from grade_prod gp where gp.cod_prod = p.cod_produto  
> > and gp.situacao='A' and gp.cod_empresa=:cod_empresa and  
> > ((gp.cod_interno = substring( :parametro from 1 for 20)) or
> (gp.cod_barras
> > = substring( :parametro from 1 for 20)) or  (gp.referencia = 
> > substring( :parametro from 1 for 20))) )  or exists( select 
> > cb.cod_prod from cod_barras cb where cb.cod_prod = p.cod_produto and 
> > cb.cod_empresa=:cod_empresa and  (cb.cod_barras = substring( 
> > :parametro from 1 for 20)) ) ) order by p.descricao
> >
> > Erro
> > raised exception class EIBInterBaseError with message 'Dynamic SQL 
> > Error SQL error code = -804 Incorrect values within SQLDA 
> > structure'.
> >
> > já procurei sobre o erro porem não achei nenhuma solução em 
> > tentativa de solucionar o problema fui alterando o SQL e ao altear 
> > os blocos co
> EXISTS a
> > mesma roda normalmente contudo preciso executar com o EXISTS e se 
> > fosse problema de SQL o IBExpert não rodava a SQL utilizo Delphi 
> > 2010 com componentes da aba Interbase Firebird 2.1 ou 2.5 
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
>
>
> --
> Frederico Godoi
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista