Consulta en ASP

Dani
07 de Julio del 2002
Hola. Estoy programando un buscador y me gustara que el usuario pudiera introducir varias palabras de bsqueda y stas se buscaran en los registros de una base de datos. El problema es que al hacer la consulta la bsqueda se realiza teniendo en cuenta que las palabras estn 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 agradecera me indicaran alguna opcin diferente para realizar las bsquedas. 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 clusula 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 debern estar en el campoBusqueda pero no seguidas, con OR slo 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 pongis 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