Consulta en ASP

Dani
07 de Julio del 2002
Hola. Estoy programando un buscador y me gustaría que el usuario pudiera introducir varias palabras de búsqueda y éstas se buscaran en los registros de una base de datos. El problema es que al hacer la consulta la búsqueda se realiza teniendo en cuenta que las palabras estén seguidas en los registros de la base de datos. Quisiera que las palabras se buscasen en las frases del registro sin tener que estar seguidas sino formando parte de las frases. La consulta que he realizado es la siguiente:
SELECT * FROM Tabla WHEN CampoBusqueda LIKE '%" + Replace(palabrasBusqueda, "'", "''") + "%'
No se si será posible lo que pido mediante una consulta en SQL. Si no es posible agradecería me indicaran alguna opción diferente para realizar las búsquedas. Muchas gracias.

katximir
07 de Julio del 2002
Yo utilizo la siguiente sentencia SQL y me funciona correctamente

cliente -> Tabla
nombre -> Campo Busqueda
session("buscas") -> variable q contiene la palabra de busqueda

SELECT * FROM clientes WHERE nombre like '%" & session("busca")& "%'"

Espero q te sirva.

rapomon
07 de Julio del 2002
Para que te encuentre las palabras sin que éstas tengan que estar seguidas necesitas crear una cláusula where por cada palabra:

If palabrasBusqueda <> "" Then
arraypalabrasBusqueda = Split(palabrasBusqueda, " ")
strSql = "SELECT * FROM Tabla"
For i = 0 To UBound(arraypalabrasBusqueda)
If i = 0 Then
strSql = strSql & " WHERE CampoBusqueda LIKE '%" & Replace(arraypalabrasBusqueda(i), "'", "''") & "%'"
Else
'Si en vez de OR ponemos AND todas las palabras deberán estar en el campoBusqueda pero no seguidas, con OR sólo basta con que esté una de ellas en el campoBusqueda
strSql = strSql & " OR CampoBusqueda LIKE '%" & Replace(arraypalabrasBusqueda(i), "'", "''") & "%'"
End If


rapomon
07 de Julio del 2002
Para los poco observadores en el ejemplo anterior meto las palabras (cualquier cosa separada por un espacio) en un array.
Se me olvidó cerrar el For, osea que pongáis Next al final del ejemplo.

Un saludo.

gabriel
07 de Julio del 2002
es facil , no te lies, en la clausula sql pon

like cadena and like cadena a buscar
saludes