O método de procura reg. ´FindNearest´...

Delphi

17/08/2005

blz amigos,

Eu estou utilizando o método de pesquisa de registro que procura o registro mais próximo da ocorrência. O método é findNearest. Mas quando eu informo um valor que não contem na tabela este método aponta para um registro que eu não informei, ou seja, aponta para o próximo registro. Queria que o sistema informasse uma mensagem para usuário quando o registro não for encontrado. Já tentei de varias formas, mas não consigo. Tentei comparar o findNearest com o edit.text, mas isso não é possível, porque da erro que os tipos não são compatíveis.


agradeço pela atenção.
Pestana.


Pestana

Pestana

Curtidas 0

Respostas

Massuda

Massuda

17/08/2005

Eu não entendo muito de BD, mas FindNearest tem um funcionamento meio ´estranho´ a primeira vista. Imagine que sua tabela tenha os valores...

{amarelo, azul, branco, preto, verde, vermelho}

...se você der um FindNearest(´v´) ele vai te retornar ´verde´ mas se você der um FindNearest(´c´), retorna ´preto´. O segundo exemplo está correto, pois FindNearest posiciona ou no registro que é igual ou maior ao valor que você está procurando.

É isso que você está observando?


GOSTEI 0
Pestana

Pestana

17/08/2005

Conserteza amigo,
é isso que eu estou observando, mas como eu faço para o método retornar verdadeiro se encontrou o registro e falso caso não encontrou, com isso o sistema dispara uma mensagem caso o registro não foi encontrado.

abraços!
Pestana.


GOSTEI 0
Massuda

Massuda

17/08/2005

...como eu faço para o método retornar verdadeiro se encontrou o registro e falso caso não encontrou...
Com FindNearest isso não é possível porque ele sempre vai posicionar em algum registro da tabela, ou seja, ele sempre ´encontra´ um registro.

Acho que o que você precisa é validar o resultado do FindNearest usando algum critério adequado aos seus dados, ou seja, faz o FindNearest, valida o resultado e se não estiver OK avise o usuário.

Se você estiver tentando usar FindNearest para localizar nomes parecidos, uma solução mais adequada seria implementar busca fonética (soundex); se for o caso, [url=http://forum.clubedelphi.net/search.php]pesquise[/url] aqui no fórum.


GOSTEI 0
Pestana

Pestana

17/08/2005

:) blz amigos,

agradeço pela atenção de todos que me ajudaram, deu certo que eu queria fazer.


abraços!
Pestana.


GOSTEI 0
POSTAR