Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro na Select


Gavoha

Pergunta

Senhores, boa tarde..

esse é meu primeiro post

 

Tenho o seguinte Select que me retornam 266 registros no Workbench 

Código 35 = 35 registros

Código 8 = 231 registros

SELECT * FROM t_escaladetalhe
where IDCLiente_EscalaDetalhe = 66
and idFUncao_EscalaDetalhe in (8,35) 
and DtEvento_EscalaDetalhe  between '2017-04-01' and '2017-04-30'
and HrEntrada_EscalaDetalhe between '00:00:00' and '12:00:00'
order by DtEvento_EscalaDetalhe,HrEntrada_EscalaDetalhe,IDCooperado_EscalaDetalhe

Até aqui, perfeito! 

Quando faço o mesmo dentro do Delphi 7 só tenho retorno da função 35 e não da 8 , ou seja, não o retorno só acontece quando faço a busca individualmente.

 

O que fiz de errado?

(Segue código)

DM.qryEscalaDetalhe.close;
DM.qryEscalaDetalhe.sql.clear;
DM.qryEscalaDetalhe.sql.Add('select * from t_escaladetalhe');
DM.qryEscalaDetalhe.sql.Add('where IDCLiente_EscalaDetalhe = :pID');
DM.qryEscalaDetalhe.sql.Add('and IDFuncao_EscalaDetalhe in (:pFuncao)');
DM.qryEscalaDetalhe.sql.Add('and (DtEvento_EscalaDetalhe  between :pDI  and :pDF)');
DM.qryEscalaDetalhe.sql.Add('and (HrEntrada_EscalaDetalhe between :pHrI and :pHrF)');
DM.qryEscalaDetalhe.sql.Add('order by DtEvento_EscalaDetalhe,HrEntrada_EscalaDetalhe,IDCooperado_EscalaDetalhe ');
DM.qryEscalaDetalhe.ParamByName('pID').Value     := edClienteDe.Text;
DM.qryEscalaDetalhe.ParamByName('pFuncao').Value := sCodFuncao;
DM.qryEscalaDetalhe.ParamByName('pDI').Value     := FormatDateTime('yyyy-mm-dd', dtInicio.Date );
DM.qryEscalaDetalhe.ParamByName('pDF').Value     := FormatDateTime('yyyy-mm-dd', dtFim.Date );
DM.qryEscalaDetalhe.ParamByName('pHrI').Value    := TimeToStr( edHrDe.Time  ) ;
DM.qryEscalaDetalhe.ParamByName('pHrF').Value    := TimeToStr( edHrAte.Time ) ;
DM.qryEscalaDetalhe.open;

O meu sCodFuncao é uma variável String que é alimentada através de um Loop de um ChekListBox (conferi e está com os 2 valores 8 e 35)

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

tente assim

var s : string;
begin
   s := 'SELECT * FROM t_escaladetalhe where IDCLiente_EscalaDetalhe = 66 '+
        'and idFUncao_EscalaDetalhe in (8,35) '+
        'and DtEvento_EscalaDetalhe  between "2017-04-01" and "2017-04-30"  '+
        ' and HrEntrada_EscalaDetalhe between "00:00:00" and "12:00:00" '+
        'order by DtEvento_EscalaDetalhe,HrEntrada_EscalaDetalhe,IDCooperado_EscalaDetalhe';

   DM.qryEscalaDetalhe.close;
   DM.qryEscalaDetalhe.sql.clear;

   DM.qryEscalaDetalhe.sql.Add(s);

   DM.qryEscalaDetalhe.ParamByName('pID').Value     := edClienteDe.Text;
   DM.qryEscalaDetalhe.ParamByName('pFuncao').Value := sCodFuncao;
   DM.qryEscalaDetalhe.ParamByName('pDI').Value     := FormatDateTime('yyyy-mm-dd', dtInicio.Date );
   DM.qryEscalaDetalhe.ParamByName('pDF').Value     := FormatDateTime('yyyy-mm-dd', dtFim.Date );
   DM.qryEscalaDetalhe.ParamByName('pHrI').Value    := TimeToStr( edHrDe.Time  ) ;
   DM.qryEscalaDetalhe.ParamByName('pHrF').Value    := TimeToStr( edHrAte.Time ) ;
   DM.qryEscalaDetalhe.open;

end;

se não funcionar mude para

DM.qryEscalaDetalhe.sql.Add(Pchar(s));

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Deu certo!

 

Só adaptei a realidade.. mas, perfeito!

sSelect := 'SELECT * FROM t_escaladetalhe where IDCLiente_EscalaDetalhe = 66 '+
           'and idFUncao_EscalaDetalhe in ('+ sCodFuncao +') '+
           'and DtEvento_EscalaDetalhe  between "'+ FormatDateTime('yyyy-mm-dd', dtInicio.Date ) +'" and " ' + FormatDateTime('yyyy-mm-dd', dtFim.Date )+'"'+
           'and HrEntrada_EscalaDetalhe between "'+ TimeToStr( edHrDe.Time  )+ '" and "' +TimeToStr( edHrAte.Time )+'" '+
           'order by DtEvento_EscalaDetalhe,HrEntrada_EscalaDetalhe,IDCooperado_EscalaDetalhe';

 

Muito obrigado @Jhonas

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...