O que está errado ?

Delphi

13/05/2004

Olá galera do fórum !!!
A minha dúvida é o seguinte tenho um formulário onde possuo um Edit e um DBgrid com uma Query que está liga a este DBGrid, no Edit quando usuário digitar o nome do produto o DBGrid irá mostrar o resultado da busca, com o Table é só usar o findNearestno OnChange do Edit, mais eu gostaria de fazer isso usando a Query, então adicionei o seguinte comando no OnChange do Edit:

With QueryPesProdutos Do
Begin
Close;
SQL.Clear;
SQL.Add(´SELECT * FROM produto´);
SQL.Add(´WHERE NomeProduto like=´+ QuotedStr(EditDesPro.Text));
Open;
End;
Mais só que não está funcionando então gostaria que vocês descem uma olhada ou uma outra sugestão.

Obrigado
Aguardo Resposta.


Lfsl

Lfsl

Curtidas 0

Respostas

Rômulo Barros

Rômulo Barros

13/05/2004

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ClientDataSet1.Close;
  ClientDataSet1.CommandText := ´select nome from pessoal_pes´;
  ClientDataSet1.CommandText :=
  ClientDataSet1.CommandText + ´ where upper(nome) like ´+
  QuotedStr(´¬´+UpperCase(Edit1.Text)+´¬´);
  clientdataset1.Open;
end;
End; 
:P


GOSTEI 0
Lfsl

Lfsl

13/05/2004

Olá, obrigado pela resposta mais este comando ´CommandText ´ não esto conseguindo achar, lembrando que eu uso Delphi 5.


GOSTEI 0
Rodolpho123

Rodolpho123

13/05/2004

Olá ifsl,

Vc pode usar o método Locate (conhece?) da sua Query. Ele funciona direitinho no evento OnChange do Edit.

Ex:
No evento OnChange:
if Edit1.Text <> ´´ then  //Faz a busca caso o edit não esteja vazio
Query1.Locate(´NOME´,Edit1.Text,[loPartialKey,loCaseInsensitive]);



Se te aparecer a mensagem de ´Undeclared Identifier: loPartialKey,loCaseInsensitive´, verifique se na sua Uses tem as cláusulas DB.


GOSTEI 0
Rômulo Barros

Rômulo Barros

13/05/2004

Tudo bem. O comando CommandText é do ClientDataSet e o mesmo está presente no delphi 6,7 e 8.

tenta assim:

procedure TForm1.BitBtn1Click(Sender: TObject); 
begin 
  Query.Close; 
  Query.Sql.Clear;
  Query.Sql.Add(´select nome from pessoal_pes´); 
  Query.Sql.Add(´where upper(nome) like ´+ 
  QuotedStr(´¬´+UpperCase(Edit1.Text)+´¬´)); 
  Query.Open;
end; 
End; 



GOSTEI 0
Lfsl

Lfsl

13/05/2004

Obrigado pessoal, vo testar e darei uma resposta.

Obrigado


GOSTEI 0
Lfsl

Lfsl

13/05/2004

Valeu pessoal, funciono perfeitamente !!!!!!!!!!!!

Obrigado pela Atenção


GOSTEI 0
POSTAR