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

Pedro Braga bragaped em gmail.com
Qui Nov 29 12:29:55 -03 2012


Obrigado a todos consegui resolver da seguinte forma
Troquei o :parametro por `%s` e jogue primeiro em uma string list depois
dei sum format na stringlist passando os parsmetro e o problema fui
solucionado o erro é do componente do ibdataset ou ibquery.
Em 29/11/2012 12:16, "Zottis" <bzottis em ig.com.br> escreveu:

> 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
>
>
> ______________________________________________
> 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