Fórum ajuda com instrução sql #325203

12/07/2006

0

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

Responder

Posts

12/07/2006

Gtts

sobe


Responder

Gostei + 0

12/07/2006

Micheus

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


Responder

Gostei + 0

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

Aceitar