Consulta SQL

Delphi

02/05/2003

Boa tarde!

Pessoal, estou com grande dificuldade em fazer um certo tipo de pesquisa com SQL, por exemplo tenho o nome do livro ´Senhor dos Anéis´ e gostaria de fazer uma pesquisa por este título em meu banco, bem estou utilizando o Like ¬´String´¬(Claro, passando à parâmetros eu uma Query), até aí tudo bem pois se eu pesquiso por apenas ´Senhor´ ele me traz todos os títulos que contenham Senhor, e a mesma coisa com Anéis, o problema é se eu quiser pesquisar por exemplo ´Senhor Anéis´ ecluíndo o ´dos´ da consulta, ele não me retorna nada, a mesma coisa acontece se eu quizer inverter as palavras, por exemplo ´Anéis Senhor´, nada retorna. Creio eu que terei que fazer um like para cada palavra, mas como fazê-lo? Terei que gravar cada palavra em uma string e depois pesquizar? E se for isso, como fazer para que do Edit ele grave cada palavra em uma string e depois faça a busca? Pode ser que seja simples, mas meus poucos conhecimentos não me ajudam.

Valeu!

Angelo


Angelo

Angelo

Curtidas 0

Respostas

Motta

Motta

02/05/2003

select *
from livros
where titulo like ´¬senhor¬aneis¬´


retorna algo assim

o senhor dos aneis
o senhor dos aneis II
senhora e seus aneis


....


GOSTEI 0
Angelo

Angelo

02/05/2003

Agradeço a ajuda acima e volto com outra dúvida:
Tenho certeza de que irá funcionar, então agora o que eu preciso fazer e pegar a string (a qual eu alimentei com um edit) e fazer que a cada espaço seja colocado uma ¬, exemplo a string está assim: ´Senhor dos Anéis´ e far com que ele fique assim: ´Senhor¬dos¬Aneis´, mas como fazê-lo, tem ideia?

Angelo


GOSTEI 0
Schwarze

Schwarze

02/05/2003

Essa é mole, ângelo. Faça algo assim:

...
s:= Edit1.Text;
for i:= 1 to length(s) do
if s[i] = #32 then //32 é o mesmo que ´ ´ (espaço)
s[i]:= ´¬´;
query.parambyname(´parametro mysteriozo do angelo´).asstring:= s;
...

:twisted: Certo, Mano?


GOSTEI 0
Angelo

Angelo

02/05/2003

Agradeço sinceramente ao Motta eo ao Schwarze pela grande ajuda recebida, no que for preciso e possível contem comigo!
Valeu!

Angelo

angelo_l_santos@brturbo.com


GOSTEI 0
POSTAR