Erro em Consulta

20/09/2004

0

por que eu uso o código:

dm.IBDSCARGAHORA.Close;
dm.IBDSCARGAHORA.SelectSQL.Clear;
dm.IBDSCARGAHORA.SelectSQL.Add(´select count (*) as resultado from cargahora where codfuncbarras=:codbarras and data=:data and saida is null´);
dm.IBDSCARGAHORA.ParamByName(´codbarras´).AsString:=edvalor.Text;
dm.IBDSCARGAHORA.ParamByName(´data´).AsDate:=date;
dm.IBDSCARGAHORA.Prepare;
dm.IBDSCARGAHORA.Open;

e o delphi me retorna o seguinte erro:´IBDSCARGAHORA:field ´CODFUNCBARRAS´ not found´

se eu fizer:
dm.IBDSCARGAHORA.Close;
dm.IBDSCARGAHORA.SelectSQL.Clear;
dm.IBDSCARGAHORA.SelectSQL.Add(´select * from cargahora where codfuncbarras=:codbarras and data=:data and saida is null´);
dm.IBDSCARGAHORA.ParamByName(´codbarras´).AsString:=edvalor.Text;
dm.IBDSCARGAHORA.ParamByName(´data´).AsDate:=date;
dm.IBDSCARGAHORA.Prepare;
dm.IBDSCARGAHORA.Open;

aí dá certo, mas eu preciso do count.


Tap_pedroso

Tap_pedroso

Responder

Posts

20/09/2004

Aroldo Zanela

Colega,

Verifique se você adicionou indevidamente as colunas (Fields Editor) para o dataset.


Responder

20/09/2004

Tap_pedroso

está adicionado corretamente eu já tinha verificado isso antes eu removi todas as colunas e dei uma add all fields de novo mas mesmo assim está dando esse erro.


Responder

20/09/2004

Djjunior

foi justamente porque vc adicionou que dá o erro !
pois a consulta select * from... retorna n colunas enquanto que a consulta select count(*) from.... só retorna uma !

remova todas as colunas e rode o sistema, tu vai ver que funciona.

sempre que vc mudar uma consulta em runtime veja se ela retorna os mesmos campos, se não retornar ou vc não deixa ninguem no fieldsEditor ou o altera antes de (re)abrir a consulta.


Responder

20/09/2004

Tap_pedroso

puts é mesmo não prestei atenção direito nisso! :oops:

valeu! :D


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar