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

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Qua Mar 23 08:06:56 -03 2011


vamos do principio
seria assim
clientdataset1.close;
sqldataset1.CommandText:='select cli_codigo,cli_descricao from cliente where
cli_descricao containing :ptexto'
ClientDataSet1.params.parabyname('ptexto').asstring := Edit1.Text;
clientdataset1.open;

se todos os componenestes estiverem ligados direitinho vai funcionar caso
não funcione mude essa linha
de
sqldataset1.CommandText:='select cli_codigo,cli_descricao from cliente where
cli_descricao containing :ptexto'

para
clientdataset1.CommandText:='select cli_codigo,cli_descricao from cliente
where cli_descricao containing :ptexto'

poren não esqueça de colocar para true, a clausula poAllowCommandText no
datasetprovider, tambem tem que ao inves de usar o select desse jeito vc
poderia usar com like pq no caso poderia pegar so por um trecho da palavra e
ainda poderia usar no on change do edit se quiser te mando uma forma dessas
que te falei mais tarde , mais testa ai que vai dar certo


Em 23 de março de 2011 02:46, Nilton Oliveira <nillgolv em bol.com.br>escreveu:

> Reijanio, parece que falta alguma coisa aqui, não consigo compilar.
>
>
> CommandText:='select cli_codigo,cli_descricao from cliente where
> cli_descricao containing :ptexto'
> ClientDataSet1.params.parabyname('ptexto').asstring := Edit1.Text;
>
>
> ----- Original Message ----- From: "Reijanio Nunes Ribeiro" <
> rnribeiro em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, March 23, 2011 1:01 AM
> Subject: Re: [firebase-br] [off-topic] filtrar campo usando TEdit
>
>
>
> se ele usar parametro fica melhor e não da o famoso "conversion error from
> string"
> ClientDataSet1.DataSet.
>
>>
>> CommandText:='select cli_codigo,cli_descricao from
>> cliente where cli_descricao containing :ptexto'
>>
>
>          ClientDataSet1.params.parabyname('ptexto').asstring :=
> Edit1.Text;
>
>
> Em 23 de março de 2011 00:39, Robson Catunda <robson.catunda em gmail.com
> >escreveu:
>
>  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
>> >
>> ______________________________________________
>> 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
>>
>>  ______________________________________________
> 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
>
> ______________________________________________
> 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