Comando Like

Delphi

08/10/2003

Como utilizo o comando like para ele não fazer distinção de letras maiusculas e minusculas,...ex digito Edson, e ele localiza edson, EDSON, ou outras formas ...


Arc

Arc

Curtidas 0

Respostas

Beppe

Beppe

08/10/2003

Localiza onde? Se você quer apenas comparar, SameText faz isso.

Ataliba


GOSTEI 0
Anorex

Anorex

08/10/2003

no ib uso:

UPPER(CAMPO) LIKE UPPER(TEXTO_PARA_PESQUISA)


GOSTEI 0
Arc

Arc

08/10/2003

Estou fazendo a busca em um campo memo da minha tabela, ele vai de registro a registro em busca dessa palavra, ...., tbem não estou conseguindo fazer com que ele busque um numero indeterminado de palavras


GOSTEI 0
Arc

Arc

08/10/2003

não estou conseguindo colocar o UPPER


GOSTEI 0
Arc

Arc

08/10/2003

Fonte:

query1.close;
query1.sql.clear;
query1.sql.add(´select * from teste ´);
query1.sql.add(´Where A2 LIKE :Consulta´);
query1.sql.add(´order by A1´);
query1.ParamByName(´Consulta´).AsString:=´´+´¬´+Edit1.Text+´¬´;
query1.open;


GOSTEI 0
Luineumann

Luineumann

08/10/2003

experimente

query1.close;
query1.sql.clear;
query1.sql.add(´select * from teste ´);

query1.sql.add(´Where Upper(A2) LIKE Upper(:Consulta)´);

query1.sql.add(´order by A1´);
query1.ParamByName(´Consulta´).AsString:=´´+´¬´+Edit1.Text+´¬´;
query1.open;


GOSTEI 0
Arc

Arc

08/10/2003

Ele exibe a seguinte mensagem se usar o upper conforme citado acima:
Type mismatch in expression


GOSTEI 0
Anorex

Anorex

08/10/2003

tente

query1.close;
query1.sql.clear;
query1.sql.add(´select * from teste ´);

query1.sql.add(´Where Upper(A2) LIKE Upper(´ + ´´´´ + Edit1.Text + ´´´´ +´)´);

query1.sql.add(´order by A1´);
query1.open;


GOSTEI 0
Arc

Arc

08/10/2003

Meu amigo, o erro continua .....será que o erro acontece por o campo A2 ser do tipo MEMO ?????


GOSTEI 0
Anorex

Anorex

08/10/2003

É sim por causa do campo blob...

Eu ainda não sei como fazer esta pesquisa, pois sem o UPPER funciona blz...

Vou tentar descobrir, qualquer novidade te aviso...


GOSTEI 0
Arc

Arc

08/10/2003

Caro Anorex e em relação a procurar por mais de um termo, vc tem alguma sugestão ?????

O Usuário poderá digitar varias palavras no edit


GOSTEI 0
Arc

Arc

08/10/2003

hehehe, isso ta dificil, não acho nada na net


GOSTEI 0
Arc

Arc

08/10/2003

:cry:


GOSTEI 0
Ilanocf

Ilanocf

08/10/2003

Se não der certo, tente este:

With Query1 Do
Begin
Close;
SQL.Clear;
SQL.Add(´SELECT * FROM Teste´);
SQL.Add(´WHERE CampoDaTablea LIKE:P1´);
SQL.Add(´ORDER BY A1´);
ParamByName(´P1´).Valu:=Upper(Edit1.Text);
Open;
End;


GOSTEI 0
Arc

Arc

08/10/2003

Eu não consigo usar o upper, .....


GOSTEI 0
Arc

Arc

08/10/2003

Complementei meu fonte com umas linhas que achei no forum

s:= Edit1.Text;
for i:= 1 to length(s) do
if s[i] = #32 then //32 é o mesmo que ´ ´ (espaço)
s[i]:= ´¬´;
query1.close;
query1.sql.clear;
query1.sql.add(´select * from teste ´);
query1.sql.add(´Where A2 LIKE :Consulta´);
query1.sql.add(´order by A1´);
query1.ParamByName(´Consulta´).AsString:=´´+´¬´+(s)+´¬´;
query1.open;

ele busca mais de uma palavra , mas somente na ordem em que foi digitado, ja é um gde passo heheheheh


GOSTEI 0
Arc

Arc

08/10/2003

Tem como eu fazer uma busca pela palavra exata, se escrevi hoje, ele busca por hoje ?????


GOSTEI 0
POSTAR