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

Duvida Com Pesquisa


tux_boy

Pergunta

Bom, meu problema é o seguinte:

Estou fazendo uma consulta utilizando query onde eu digito um genero de filme, por exemplo, e o sistema me traz todos os filmes cadastrados com aquele genero. Porem, na hora de cadastrar filmes, eu não padronizei deixando tudo minusculo ou tudo maiusculo, entaum eu qeuria saber se na hora de efetuar a pesquisa tenha alguma maneira de fazer com que o sistema ignore maiusculas e minusculas para fazer a pesquisa.

O código do batão que efetua a pesquisa é:

procedure TfrmConsultaDVD.btGenClick(Sender: TObject); 
begin 
  qrDVD.Close; 
  qrDVD.SQL.Clear; 
  qrDVD.SQL.Add('Select * From DVD Where GenDVD = :pGen'); 
  qrDVD.Params[0].AsString := edtGen.Text; 
  qrDvd.Open; 
end;

Muito obrigado

Editado por Micheus
Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Dependendo do seu BD, pode usar o UPPER sobre os campos e AnsiUpperCase() no campo a consultar no delphi, fazendo algo desta forma:

procedure TfrmConsultaDVD.btGenClick(Sender: TObject);
begin
qrDVD.Close;
qrDVD.SQL.Clear;
qrDVD.SQL.Add('Select *');
qrDVD.SQL.Add('From DVD');
qrDVD.SQL.Add('Where upper(GenDVD) = :pGen');
qrDVD.Params[0].AsString := AnsiUpperCase(edtGen.Text);
qrDvd.Open;
end;
Se quiser, pode ainda fazer:
procedure TfrmConsultaDVD.btGenClick(Sender: TObject);
begin
qrDVD.Close;
qrDVD.SQL.Clear;
qrDVD.SQL.Add('Select *');
qrDVD.SQL.Add('From DVD');
qrDVD.SQL.Add('Where upper(GenDVD) = ''' + AnsiUpperCase(edtGen.Text) + '''');
qrDvd.Open;
end;
Seria interessante o uso de Like nesta sua pesquisa, podendo assim pesquisar somente por partes do títulos...
procedure TfrmConsultaDVD.btGenClick(Sender: TObject);
begin
qrDVD.Close;
qrDVD.SQL.Clear;
qrDVD.SQL.Add('Select *');
qrDVD.SQL.Add('From DVD');
qrDVD.SQL.Add('Where upper(GenDVD) like ''%' + AnsiUpperCase(edtGen.Text) + '%''');
qrDvd.Open;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

Aproveitando o exemplo do colega marcio.theis...

Ainda dependendo do banco que utiliza, se for Firebird, poderia no lugar de UPPER + LIKE utilizar simplesmente CONTAINING:

procedure TfrmConsultaDVD.btGenClick(Sender: TObject);
begin
qrDVD.Close;
qrDVD.SQL.Clear;
qrDVD.SQL.Add('Select *');
qrDVD.SQL.Add('From DVD');
qrDVD.SQL.Add('Where GenDVD CONTAINING ''' + edtGen.Text + '''');
qrDvd.Open;
end;

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...