[firebase-br] Erro ao passar parâmetro para TIB_Query

Andrei Luís compuvale.software em gmail.com
Seg Nov 7 23:48:35 -03 2011


Olá Magno e demais colegas da lista.

Com a ajuda do criador da criatura consegui resolver o problema.

Postei msg na lista oficial do IBO e o Jason Wharton respondeu,
falamos via Skype e ele postou uma versão corrigida no site do IBO.
Ele concluiu que foi um bug introduzido na versão 4.9.14 build 19.

Antes da correção, instalei a versão 4.9.9 (que eu estava utilizando
anteriormente) e constatei que não apresentava o erro.

[]s
Andrei



Em 4 de novembro de 2011 18:09, Magno System <magno em speet.com.br> escreveu:
> Talvez seja até devido à propriedade RefreshonParamsChange. Ou seja, como a
> query será atualizada a cada passagem de parâmetros, a query deve estar
> ativa quando o parâmetro for passado. Talvez (agora chutando) não tivesse
> esta propriedade em versões anteriores do IBO e portanto o IBO teve que
> mudar sua forma de trabalhar.
>
> Software House Magno System
> Site: www.magnosystem.com.br
> Email: magno em speet.com.br
> Tel.: (35)3371-2337 / (35) 9129-7634
> ----- Original Message ----- From: "Andrei Luís"
> <compuvale.software em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, November 04, 2011 5:57 PM
> Subject: Re: [firebase-br]Erro ao passar parâmetro para TIB_Query
>
>
> Grato pela ajuda Magno, funcionou. Mas a pergunta que não quer calar,
> porque funcionava do outro jeito antes? Atualizei o IBO, pode ser isso
> não?
>
> []s
> Andrei
>
>
>
> Em 4 de novembro de 2011 17:50, Magno System <magno em speet.com.br> escreveu:
>>
>> Abra primeiro a query e depois passe o parâmetro:
>>
>> if not qry_tmp.active then qry_tmp.Open;
>> qry_tmp.ParamByName('worc_id').asInteger :=
>> dm.qrOrcamentos.FieldByName('Registro_id').AsInteger;
>>
>>
>>
>> Software House Magno System
>> Site: www.magnosystem.com.br
>> Email: magno em speet.com.br
>> Tel.: (35)3371-2337 / (35) 9129-7634
>> ----- Original Message ----- From: "Andrei Luís"
>> <compuvale.software em gmail.com>
>> To: "Firebase" <lista em firebase.com.br>
>> Sent: Friday, November 04, 2011 5:42 PM
>> Subject: [firebase-br] Erro ao passar parâmetro para TIB_Query
>>
>>
>> Boa tarde a todos,
>>
>> Estou utilizando FB 2.5.0 + IBO 4.9.14 20 + Delphi 2006.
>>
>> Estou com um problema besta, tenho uma rotina simples que calcula os
>> totais dos orçamentos/pedidos em meu sistema e depois de rodar
>> normalmente a muitos anos, hoje resolveu encrencar:
>>
>>
>>
>> Procedure TfOrcamentos.CalculaTotal;
>> Var qry_tmp : TIB_Query;
>> Begin
>> qry_tmp := TIB_query.Create(Self);
>> qry_tmp.DatabaseName := dm.cnSistema.DatabaseName;
>> qry_tmp.SQL.Text := 'Select Coalesce(sum((qtde - estorno) *
>> valor), 0) as totPedido, '+
>> ' Coalesce(sum((qtde - estorno) *
>> valor_compra_original), 0) as totCompraPedido, '+
>> ' Coalesce(sum((qtde - estorno) *
>> valor_lista), 0) as totPedidoLista '+
>> 'from pedidosItens where orcamento_id
>> = :worc_id group by orcamento_id';
>> qry_tmp.ParamByName('worc_id').asInteger :=
>> dm.qrOrcamentos.FieldByName('Registro_id').AsInteger;
>> qry_tmp.Open;
>> end;
>>
>>
>> Ao passar o parâmetro, acusa erro: 'Project project1.exe raised
>> exception class EIB_StatementError with message 'Campo: worc_id não
>> encontrado'.
>>
>> Alguém sabe porque isso está acontecendo?
>>
>> []s
>> Andrei
>>
>> ______________________________________________
>> 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
>
> ______________________________________________
> 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