pesquisar usando o locate

Delphi

13/07/2012

boa noite pessoal, estou fazendo uma pesquisa dentro do delphi/mysql e usei o locate, mas qdo faco a pesquisa, digito no edit o codigo do produto..ex 40, ele busca o codigo 440...so acha codigos grandes..nao esta buscando o codigo que digito..por que? estou fazendo assim...ja tentei com os 2 tipos..

procedure Tfrmtelaprod.Edit1Change(Sender: TObject);
begin
if edit1.Text <> then
if not dmlojas.ZQueryprodutos.Locate(codprod,edit1.Text,[loCaselnsensitive,loPartialKey])then
begin
MessageDlg(Codigo nao encontrado.,mtError,[mbOK],0);
edit1.SetFocus;
edit1.Clear;
end;
end;

*****************************************************

procedure Tfrmtelaprod.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
if not dmlojas.ZQueryprodutos.Locate(codprod,edit1.Text,[loCaseInsensitive, loPartialKey])then
begin
MessageDlg(Codigo nao encontrado.,mtError,[mbOK],0);
edit1.SetFocus;
edit1.Clear;
end;
end;

***************************************
eu uso este mesmo tipo buscando o campo descricao e funciona perfeitamente...o que esta errado?
desde ja agradeço...
Jose Maria

Jose Maria

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

13/07/2012

Quando você usa o loPartialKey, será localizado o primeiro registro que contenha o 40 em seu código. Tente não usar o lloPartialKey para que só sejam localizados textos exatos.
GOSTEI 0
Jose Maria

Jose Maria

13/07/2012

deu certo...valeu pela dica obrigado...
GOSTEI 0
Deivison Melo

Deivison Melo

13/07/2012

Por favor, encerrar o tópico!

GOSTEI 0
Joel Rodrigues

Joel Rodrigues

13/07/2012

Que bom que deu certo.
Boa sorte em seus projetos.
Estou encerrando o tópico.
GOSTEI 0
POSTAR