ajuda com instrução sql

Delphi

12/07/2006

olá pessoal, estou precisando selecionar da tabela TB_ocor_temp o valor do campo valor e atribuir a uma variável, o problema é que posso ter vários lançamentos com o mesmo codigo de funcionário e também memo código de evento, porem lançamentos com códigos contrários, por exemplo:

código do funcionário: 0000001 - evento 001 - valor 50,00
código do funcionário: 0000002 - evento 001 - valor 300,00
código do funcionário: 0000002 - evento 001 - valor 100,00
código do funcionário: 0000001 - evento 002 - valor 1000,00

gostaria de selecionar o valor do funcionário 000002 do evento 001, mas o sistema seleciona o 1º registro da tabela somente, gostaria de saber o que posso estar fazendo errado.

segue o código que estou usando...

utilizo sqlquery, datasetprovider, clientdataset e datasource

qryFiltro.Close;
qryFiltro.Sql.Clear;
qryFiltro.ParamByName(´pcod_fun´).AsInteger := variavel_cod_fun;
qryFiltro.ParamByName(´pcod_evento´).AsInteger := variavel_cod_evento;
qryFiltro.Sql.Add(´Select * from TB_Ocor_Temp where COD_FUN = :pcod_fun and EVENTO = :pcod_evento´);
qryFiltro.open;


Somente me informa via mensagem que os parametros não existem, mas estão definidos dentro da sqlquery.

Obrigado.[/code]


Gtts

Gtts

Curtidas 0

Respostas

Gtts

Gtts

12/07/2006

sobe


GOSTEI 0
Micheus

Micheus

12/07/2006

Somente me informa via mensagem que os parametros não existem, mas estão definidos dentro da sqlquery.
Isto deve ser verdade já que vc limpa a query e tenta passar os parâmetros que ainda não foram definidos.
Tente inverter a ordem:
qryFiltro.Close;
qryFiltro.Sql.Clear;
qryFiltro.Sql.Add(´Select * from TB_Ocor_Temp where COD_FUN = :pcod_fun and EVENTO = :pcod_evento´);
qryFiltro.ParamByName(´pcod_fun´).AsInteger := variavel_cod_fun;
qryFiltro.ParamByName(´pcod_evento´).AsInteger := variavel_cod_evento;
qryFiltro.open; 

[]s


GOSTEI 0
POSTAR