[firebase-br] [off-topic] filtrar campo usando TEdit

Robson Catunda robson.catunda em gmail.com
Qua Mar 23 00:39:41 -03 2011


Para localizar os nomes que iniciam com o texto do edit:

ClientDataSet1.DataSet.CommandText:='select cli_codigo,cli_descricao from
cliente where cli_descricao starting '+QuotedStr(Edit1.Text);
Para localizar os nomes que contem o texto do edit em qualquer parte do
nome:

ClientDataSet1.DataSet.CommandText:='select cli_codigo,cli_descricao from
cliente where cli_descricao containing'+QuotedStr(Edit1.Text);

Vale salientar que os comandos starting e containing são próprios do
firebird (se não estou enganado).
Para um SQL genérico e independente de SGBD usa-se o LIKE:

select * from tabela where campo like 'texto%'  <------> Equivalente ao
starting
select * from tabela where campo like '%texto%' <------> Equivalente ao
containing
 select * from tabela where campo like '%texto' <------> Assim seleciona os
campos que terminam com o texto

Note em ambos os Like a presença das aspas, elas são obrigatórias

Em 22 de março de 2011 17:56, Nilton Oliveira <nillgolv em bol.com.br>escreveu:

> Desculpe o off-topic, preciso filtrar um campo de uma tabela (firebird)
> usando o TClientDataSet.
>
> quero usar um edit para editar o nome que preciso filtrar no campo
> descricao da tabela tbcliente e mostrar em um dbgrid todos os registros que
> tenham este nome(edit.text).
>
> Como implemento esta filtragem no delphi 7
>
> tabela cliente
> ------------------------------------
> campos
> cli_codigo
> cli_descricao
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista