Filtros de Dados sem o uso de SQL – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Filtros de Dados sem o uso de SQL

 

Olá pessoal, hoje vou falar sobre o uso de filtros em DataSets.

Este é um recurso muito interessante disponível em qualquer
componente descendente do TDataSet. Com ele podemos diminuir a
necessidade de uso de SQL direto no Delphi.

Vamos por exemplo utilizar o ClientDataSet ou o FDMemTable se preferir.
Observe que estes componentes possuem duas propriedades:
Filter e Filtered.

O Filter é utilizado para especificar um restrição nos dados de um
dataset, fazendo que o dataset exiba apenas os registros que atendem
as condições.

A propriedade Filter do dataset recebe uma string que descreve a
condição da restrição. Está opção é bem parecida com as clausulas
que normalmente são utilizadas para montar um “where” numa query SQL.

Para ajudar a exemplificar, veja a tabela abaixo:
filters-in-dataset

Para utilizar estes comandos no Filtro, veja o exemplo abaixo:

1
2
3
4
5
procedure TForm1.BtnFiltrarClick(Sender: TObject);
begin
  CDSAgenda.Filter := 'CODCLIENTE = 2 AND DATA=''01/01/2015''';
  CDSAgenda.Filtered := True;
end;

Veja que a propriedade Filtered = True, diz que estamos utilizando o filtro,
caso você altere ela para False, o filtro será ignorado.

Também é possível o uso de curingas, para ignorar acentos, por exemplo:

1
2
3
4
5
procedure TForm1.BtnFiltrarClick(Sender: TObject);
begin
  CDSAgenda.Filter := 'CLIENTE = ''JO_O''';
  CDSAgenda.Filtered := True;
end;

Neste caso, o terceiro caractere pode ser qualquer um.

Vale ressaltar que o uso de filtro é muito mais eficiênte em questão de
performance do que fechar uma query, alterar o sua SQL e reabri-la.

Em breve vou postar o link de um projeto de exemplo que demonstra na prática
o uso destas propriedades.

Baseado no post: www.devmedia.com.br/trabalhando-a-propriedade-filter-do-clientdataset-parte-1/13571

Dúvidas ou sugestões, deixe nos comentários do post.

Facebook Comments

Posts Relacionados

  • Giovani Da Cruz
  • 1.379 views
  • 0 comentários
  • 30 de junho de 2015

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados