Fórum Busca não exata #322017

24/05/2006

0

Estou fazendo uma busca por nome, mas pra mostar o usuário precisa digitar todos os nome exatamente igual ao original, se faltar um sobrenome ja n mostra. ou tipow se digitar o nome incompleto n mostra tb, tipow quero achar a carolina dorocil, quero buscar apenas por caroli. Alguém sabe?

Olha como to fazendo:

user.Close;
user.SQL.Clear;
user.SQL.Add(´SELECT Nome,Cpf,Tel,DDD_Tel´);
user.SQL.Add(´FROM Clientes´);
user.SQL.Add(´WHERE Nome LIKE ´ + QuotedStr(´¬´ + Edit1.Text + ´¬´));
user.SQL.Add(´Order By Nome´);
user.Open;

if (user.Fields.FieldByName(´Nome´).Value=edit1.Text)then
begin
ShowMessage(´Cliente encontrado!´);
DBGrid1.DataSource:=DataSource3;
end
else
ShowMessage(´CLiente não encontrado!´);


Tiago_hs

Tiago_hs

Responder

Posts

24/05/2006

Rjun

E se caso seu SELECT retornar mais de um registro, qual seria o comportamento esperado?


Responder

Gostei + 0

24/05/2006

Maiconseccatto

tenta assim só muda a parte do teu if

if (user.RecordCount > 0)then
begin
ShowMessage(´Foram encotrados ´+inttostr(user.RecordCount)+´ com o nome ´+edit1.text);
DBGrid1.DataSource:=DataSource3;
end
else
ShowMessage(´Não foi encotrado nenhuma ocorrencia com o nome ´+edit1.text);


Responder

Gostei + 0

24/05/2006

Mordred

É possível usar também um
user.Close;
user.SQL.Clear;
user.SQL.Add(´SELECT Nome,Cpf,Tel,DDD_Tel FROM Clientes WHERE Nome CONTAINING ´ + QuotedStr(Edit1.Text))+´ Order By Nome´);
user.Open;

ou seja,
SELECT * FROM TABELA WHERE CAMPO CONTAINING ´TESTE´



Responder

Gostei + 0

24/05/2006

Tiago_hs

>>>>>>>>>>>>>>>>Rjun

Caso tenha 2 nomes aparece os 2!

>>>>>>>>>>>>>>>maiconseccatto

ta funcinou mas no else n rodou mais.

>>>>>>>>>>>>>>>Mordred

deu erro de sintax lembrando q eu uso o SQL Server por OLE!


Responder

Gostei + 0

24/05/2006

Maiconseccatto

E ai amigo é bem provavel que o esle nao vai mais aparecer porque vc está fazendo uma pesquisa parcial entao quando vc digita ´mar´ a resposta vai ser qualquer coisa que contenha ´mar´ pode ser maria, josé maria e assim por diante. Tente fazer uma pesquisa que ele procure pelo primeiro nome.

nessa linha aqui
user.SQL.Add(´WHERE Nome LIKE ´ + QuotedStr(´¬´ + Edit1.Text + ´¬´));
tente fazer assim
user.SQL.Add(´WHERE Nome LIKE ´ + QuotedStr( Edit1.Text + ´¬´));

Abraços


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar