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

Where Like...


Predes

Pergunta

Bom dia, sou novo no Delphi e no forum, estou realizando meu primeiro projeto Delphi.

Onde eu possuo uma aba de consultas através de um botao consultar. O usuário pode optar se deseja consultar por data de inclusão ou pelo status do produto, e gostaria de incluir a pesquisa para apresentar os resultados de ambos Data e Status, fiz da seguinte maneira:

Close;

Sql.Clear;

Sql.Add('Select * from Leitura');

Sql.Add('where status= :status and data between :pdata and :pdata2');

QrLeitura.ParamByName('status').AsString:=status;

QrLeitura.ParamByName('pdata').AsDateTime:=data2;

Qrleitura.ParamByName('pdata2').AsDateTime:=data3;

A Consulta não retorna nenhum resultado, talvez deva incluir um Like mais não sei como, alguém poderia me ajudar?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá Predes!

Veja essas duas linhas:

Sql.Add('Select * from Leitura');
Sql.Add('where status= :status and data between :pdata and :pdata2');
Não existe espaços entre as strings, o que resultaria nisto:
'Select * from Leiturawhere status= :status and data between :pdata and :pdata2'
, resultando um erro no seu SQL. Quanto a citação:
O usuário pode optar se deseja consultar por data de inclusão ou pelo status do produto
Note que você usou a palavra OU, isto me leva a crer que você deveria utilizar o operador lógico OR no seu SQL ao invés do AND. O LIKE é usado para comparação de valores strings com uso do coringa %. Com o LIKE você poderia fazer assim:
Sql.Add('where status LIKE "%:status%" and data between :pdata and :pdata2');

Espero ter ajudado!

Falou!

Link para o comentário
Compartilhar em outros sites

  • 0

Gente por favor alguém me ajude, como incluo um Like nesse código:

A dica do amigo acima não funcionou, estou usando parametros creio q seja por isso.

QrLeitura.Close;

QrLeitura.Sql.Clear;

QrLeitura.Sql.Add('Select * from Leitura');

QrLeitura.Sql.Add('where status= :status and data between :pdata and :pdata2');

QrLeitura.ParamByName('status').AsString:=status;

QrLeitura.ParamByName('pdata').AsDateTime:=data;

Qrleitura.ParamByName('pdata2').AsDateTime:=data1;

QrLeitura.Open;

Editado por Predes
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,4k
×
×
  • Criar Novo...