Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ederson Sergio Coelho

[Resolvido] Pesquisa Em Delphi

Recommended Posts

Bom gente ja faz um tempo que to tentando implentar essa consulta em meu Form mais ate agora não obtive nenhum sucesso estou usando os componentes ADO os quais estou acostumado e mexer porem não consigo fazer essa pesquisa de jeito algum ja vi video aulas fiz exatamente como ta la e não da certo ja to perdendo as esperanças ja tentei fazer com tudo que é componente, mais é o seguinte eu tenho um pequeno programa uma Agenda ae na consulta eu quero fazer uma pesquisa pelo nome das pessoas e quando clicar no botão pesquisar aparecer os registros que começem com a letra m por exemplo é esse tipo de consulta que queria fazer a consulta com Locate eu sei fazer mais não é esse que quero...

 

Se alguem poder me ajudar nessa, agradeçeria muito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que componentes está usando? Se for com query, use o comando Like para fazer a pesquisa.

 

Exemplo:

 

Select * from tabela where campo like 'a%' -> Retorna tudo onde o campo comece com a letra a

Select * from tabela where campo like '%a%' -> Retorna tudo onde o campo contenha a letra a 

Poste o código da rotina.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou usando o ADOQuery sim então amigo direto no SQL eu tambem sei fazer mais o problema to querendo implentar isso no Edit.Text digita la e clica no botão pesquisar ae que esta o grande problema, não consigo fazer de jeito algum eu estava tentando fazer mais ou menos assim...

 

ADOQuery.Close;

ADOQuery.SQL.Clear;

ADOQuery.SQL.Add.('Select *From Agenda Where Nome' + (EditPesquisa.Text) + '%');

ADOQuery.Close;

 

Não estou bem lembrado agora mas é mais ou menos assim que estava vendo por ae em outros sites...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se este é seu código atual, seu problema está no comando após o add... em vez do open você deu outro close.

 

ADOQuery.Close;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add.('Select *From Agenda Where Nome like ' + QuotedStr(EditPesquisa.Text) + '%'); <-- Muda esta linha tb
ADOQuery.Close; <----- Aqui deveria ser ADOQuery.Open;

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então fico assim mas o erro continua do mesmo jeito = (

 

procedure TFormConsultarAgenda.ButtonConsultarClick(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * From Agenda Where Nome Like' + QuotedStr(EditConsultar.Text) + '%');
  ADOQuery1.Open;

end;

Olha o erro: http://img248.imageshack.us/img248/4493/erromysql.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está na sintaxe final do comando que está mandando pro bd... no edit você está enviando o filtro (pedaço da palavra) que vai usar no like estou certo? Se for, podemos tentar mandar executar algo do tipo....

 

procedure TFormConsultarAgenda.ButtonConsultarClick(Sender: TObject); 
begin 
  ADOQuery1.Close; 
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * From Agenda Where Nome Like ' + QuotedStr(EditConsultar.Text + '%') ); 
  ADOQuery1.Open;
end;

Acho que isso resolve....

 

Ps.: estou sem delphi aqui pra testar hehehe.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.