Foros del Web » Programando para Internet » ASP Clásico »

Problemas con Asp

Estas en el tema de Problemas con Asp en el foro de ASP Clásico en Foros del Web. Saludos amigos, me gustaría que alguien me ayude en un problema que tengo con un código de asp, yo en asp no soy bueno, por ...
  #1 (permalink)  
Antiguo 10/01/2005, 07:27
 
Fecha de Ingreso: agosto-2004
Ubicación: Caracas-Venezuela
Mensajes: 26
Antigüedad: 20 años, 8 meses
Puntos: 0
Problemas con Asp

Saludos amigos, me gustaría que alguien me ayude en un problema que tengo con un código de asp, yo en asp no soy bueno, por eso bueno a una persona que me pueda ayudas. Este es el código.

<%
Dim Conexion,Tabla
Set Conexion=Server.CreateObject("adodb.connection")
Set Tabla=Server.CreateObject("adodb.recordset")
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("basedatos.mdb")
Dim Temp
palabra que buscamos
'buscando con el operador LIKE obtenemos apariciones del substring escrito en el formulario, entre las palabras clave

Temp="Select * From Tabla1 Where UCase(descripcion) like '%" & UCase(Request("palabra")) & "%'"
Tabla.Open Temp,Conexion

%>
<body bgcolor="#F0FDFF">
<p><font face="Tahoma" size="2">Resultados obtenidos con <strong><%=Request("Palabra") %></strong></font></p>

<%
If Tabla.BOF And Tabla.EOF Then
%>
<p><font face="Tahoma" size="2">No se ha encontrado nada con <strong><%=Request("palabra")%></strong> en la Base de Datos</font></p>
<%
Else'aquí comienza el Script que nos muestra los resultados,'si los encuentra en la tabla
%>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="565" height="53" bordercolor="#C0C0C0">
<% While Not Tabla.EOF%>
<tr bgcolor="#E1FFEF">
<td width="142" height="117" background="images/form01.gif">
<table width="120" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="108" height="20" valign="baseline"> <div align="center"><strong><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">CODIGO</font></strong></div></td>
</tr>
<tr>
<td height="15"> <div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong><%=Tabla.Fields("Codigo")%></strong></font></div></td>
</tr>
<tr>
<td height="69"><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong><font size="2" face="Arial, Helvetica, sans-serif"><img src="<%=Tabla.Fields("url")%>"></font></strong></font></div></td>
</tr>
</table></td>
<td width="422" height="117" background="images/form02.gif"> <div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong><%=Tabla.Fields("descripcion")%>&nb sp;</td>

</tr>
<%

Tabla.MoveNext
Wend
Tabla.Close
Conexion.Close
End If
%>
</table>

</center>
</div>
<p align="center">


Me gustaria colocarle un paginador, pero no se como hacerlo, e igualmente cuando coloque la palabra a buscar que busque varias palabra, es decir, si yo busco la palabra "PERA", no tengo problemas pero cuando busco "PERA VERDE", me dice que no hay nada en la base de datos, pero en la base de datos hay informacion de "PERA AMARILLA Y VERDE",espero que me puedan ayudar

GRACIAS
  #2 (permalink)  
Antiguo 10/01/2005, 09:39
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 7 meses
Puntos: 2
Hola!
El tema que puedo ver es que en el like de la consulta, el operador especial % que indica que puede haber cualquier cosa que no molesta, vos lo ponés adelante y atras del campo por el cual estás buscando.
Entonces tu consulta en la base de datos llega diciendo que traiga todos los campos que en el nombre se encuentre %PERA VERDE% y no %PERA%VERDE%. Al pasar esto, busca todo el string en cualquier parte del campo, pero que sea una palabra seguida de la otra. Si hay una palabra en el medio, no va a mostrar resultados.
Para buscar con palabras en medio es un poco complicado porque deberías cargar las palabras que ponen en el buscador en un array y separarlo en palabras (Encontrando el espacio en blanco) y luego colocarlo en variables temporales y armar la consulta con la cantidad de variables que llegen en forma de palabras en tu array y colocar un % entre cada una para que funcione.
Eso es bastante complicado sobretodo si no te llevas muy bien con el ASP.
En el foro hay varios temas que hablan de arrays y de como descomponerlos en palabras y volverlos a componer.
Fijate que seguro lo sacas.
__________________
Why can't we not be sober?
www.partitorium.com.ar
  #3 (permalink)  
Antiguo 10/01/2005, 09:40
Avatar de verinchi  
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 7 meses
Puntos: 2
Me olvidaba!!
Con el tema de paginación tambien hay varios posts que funcionan en este foro
:asios:
__________________
Why can't we not be sober?
www.partitorium.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:26.