Preciso fazer (FindNearest) no IB?

Delphi

27/04/2004

Estou passando um programa que fiz em Delphi3 com Paradox para Delphi7 com Interbase. No programa antigo em um form de pesquisa eu tenho o seguinte:
DM_Nordeste.Cliente.FindNearest([Edit1.Text]);

A medida que vou digitando um nome no Edit1 o ponteiro vai se posicionando no registro (Cliente) correspondente que está em um grid.

Não estou conseguindo fazer o mesmo no Interbase, alguem pode me ajudar?

Desde agradeço.


Ronylee

Ronylee

Curtidas 0

Respostas

Dopi

Dopi

27/04/2004

Esqueça isso....

Em Banco de Dados, você deve filtrar ao máximo o trafego de informação do banco de dados ao usuário.... Lembre-se que o banco de dados poderá estar separado da aplicação por uma linha discada (lenta) e trazer 1000 registros demorará um bocado.... Ou seja, você nunca terá acesso ´fisico´ a tabela.

Voce deve fazer algo do tipo: Digite as iniciais do cliente:

E nesse caso efetuar uma consulta SQL que retorne somente os clientes que correspondam a condiçao:

Ex: No commandtext do seu DataSet....
select * from CLIENTES where NOMECLIENTE starting with :PNOME order by NOMECLIENTE ;

SeuDataset.Params.ParamByName(´PNOME´).AsString := Edit1.Text ;


GOSTEI 0
Paulo Trajano

Paulo Trajano

27/04/2004

Mas se o seu banco estiver local e não tenha tanto registros assim que chegue a ficar lento, vc pode usar o [b:e0a542686e]Locate[/b:e0a542686e] do IB que funciona como o FindKey do Piradox.

Tabela.Locate(´Nome´, Edit1.Text, [loPartilKey])


Onde [color=green:e0a542686e][b:e0a542686e]´Nome´[/b:e0a542686e][/color:e0a542686e] é o campo a ser pesquisado, claro;
Nem precisa dizer que ele vai pesquisar o que está no [color=green:e0a542686e][b:e0a542686e]Edit1.Text[/b:e0a542686e];[/color:e0a542686e]
[color=green:e0a542686e][b:e0a542686e][lopartialKey][/b:e0a542686e][/color:e0a542686e] não faz diferença entre maiúsculas e minúsculas;


GOSTEI 0
Dopi

Dopi

27/04/2004

hehe... Piradox.... gostei. Relamente, como já ouvi por ai, quem usa Paradox em sistemas comerciais de grande porte morre louco.... :-)


GOSTEI 0
Paulo Trajano

Paulo Trajano

27/04/2004

quem usa Paradox em sistemas comerciais de grande porte morre louco.... :-)


Acho que esse BD suja o nome da Borland, já que é nativo do Delphi. Deveriam tirá-lo do programa e deixar como nativo somente o IB.
Quanto a morrer louco, isso é pura verdade... depois de uma experiência horrível que tive com esse tal De Piradox aí, nunca mais quero vê-lo na minha frente :x


GOSTEI 0
POSTAR