Buscador simples em ASP melhorado

Artigo que comenta como implementar uma série de melhorias no buscador simples para ASP para que aceite critérios de busca com palavras independentes e operadores para relacioná-las.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 24/1/08
Valorize este artigo:
O buscador que se explica no manual Buscador Simples para ASP se pode melhorar, como creio que já comentamos, utilizando o script do artigo Crie seu próprio buscador, que implementava um sistema para que o sistema de busca utilizasse várias palavras-chave e alguns operadores para relacioná-las, como o operador + ou o operador espaço, que querem dizer que há que se relacionar as diferentes palavras-chave com a função lógica AND e OR respectivamente.

O objetivo deste artigo é realizar essa integração de um sistema com o outro e a publicação do script resultante, comentado na medida do possível. O primeiro seria ter claros as duas fontes de informação com as que estamos trabalhando, para o que aconselhamos necessariamente sua leitura compreensiva. Unimos os dois scripts

A página do buscador simples que temos que editar se chama buscar.asp. Para começar, vamos colocar as funções que estão no exercício Crie seu próprio buscador em qualquer parte de buscar.asp, embora preferivelmente na parte de cima. Estas funções, se por acaso alguém não as identifica, são:

function Tirar(cadeia,campos)
Extrai cada um dos campos do critério de busca introduzido e vai relacionando-os segundo os operadores que se utilizaram. Tudo isto se vai colocando em uma sentença em linguagem SQL.

function GeraSql(cadeia,tabela,campos)
Cria a sentencia SQL definitiva.

As descrições completas destas funções e a explicação de suas ações está, mais ou menos realizada no artigo Crie seu próprio buscador.

Editamos o script de buscar.asp para construir uma sentença SQL melhorada

A linha onde antes se construía a sentença SQL (variavel Temp.) a comentamos e a voltamos a fazer de outra maneira.

Primeiro, devemos criar um array com os campos da tabela onde vamos realizar as buscas. O array deve ter uma posição mais das necessárias, porque senão nos falhará o exemplo. Vamos buscar nos campos "Des" e "pal" da tabela, que contém as descrições e palavras-chave de cada um dos registros.

dim campos(3) 'o tamanho do array deve superar em um ao numero de campos
campos(1)="Des"
campos(2)="pal"

Logo extraímos a cadeia de busca do formulário que estamos recebendo
cadeia=Request.form("palavra")

Criamos uma variável com o nome da tabela do banco de dados onde há que buscar.

tabela_bd="Tabela1"

Finalmente, criamos a sentença SQL realizando uma chamada à função GeraSql comentada antes. Salvamos a sentença SQL na variável Temp, que era a variável onde antes tinha salvo a sentença do script buscar.asp original.

Temp=GeraSql(cadeia,tabla_bd,campos)

Nota: Decidi não mudar os nomes das variável para que o exemplo de buscar.asp continuasse funcionando sem problemas.

Já está pronto

Com as mudanças indicadas até agora já temos o exercício terminado. Agora as buscas serão muito mais complexas porque as sentenças SQL é muito mais avançada. As possibilidades deste script se multiplicaram.

O resto do código se deixa como estava. Ao executar a sentença SQL salva na mesma variável Temp, porém que agora está mais avançada se produz um recordset cujo percorrido se realiza da mesma maneira que antes.

Deixei a sentença SQL à vista, imprimido-a na página, para que qualquer pessoa que executar o script possa ver que sentença se está gerando.






Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato