Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 Un Buscador sobre una BD (ejemplo listado en sitio
 Foro Bloqueado  Tema Bloqueado


Autor Temas
robertomx_mx
Starting Member

Mexico
43 Posts
Mensajes - 10 Aug 2004 :  21:32:51  Ver Perfil  Enviar Email
Hola a todos, acabo de bajar el ejemplo que aparece en este sitio sobre Buscador sobre una base de datos. Esta colaboracion la dio:
Fernanda Eugenia Bahit de argentina. Adapte a una bd propia, al ejecutarla funciona bien en el lado de las busquedas. sin embargo cuando los resultados son mas de los que puede desplegar en una pantalla, este "teoricamante" me permite cambiarme de "pantalla" (siguiente o atras), pero a mi me saca el siguinete error:

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/cgi-bin/resultados.asp, line 35


el codigo es el siguiente:


<%
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop
no_stand= request.querystring("no_stand")
nombre = request.querystring("nombre")
orden = request.querystring("orden")
alf = request.querystring("alf")
cantidad = request.querystring("cantidad")
if cantidad="10" then
mostrar = 10
elseif cantidad="20" then
mostrar = 20
end if
if orden = "" then
response.redirect "buscador.asp"
end if

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
pagina_actual = 1
Else
pagina_actual = CInt(Request.QueryString("page"))
End If

strsql = "SELECT * FROM stands where UCase(no_stand) like '%" & UCase(Request("no_stand")) & "%' AND UCase(nombre) like '%" & UCase(Request("nombre")) & "%' order by "& orden & " "&alf
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("proyecto.mdb")

'creo el RecordSet y defino la cantidad de registros a mostrar
Set RS = Server.CreateObject("ADODB.Recordset")

RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abro la tabla...
RS.Open strSQL, oConn,3,1
'cuento las páginas que se formaron con la variable mostrar
cant_paginas = RS.PageCount

' Si el pedido de página cae afuera del rango,
' lo modifico para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
%>
<body style="background-color: #FFFFF4">
<%
' Si la cantidad de páginas da 0 es que no hay registros... por eso este IF
If cant_paginas = 0 Then%>

<p><font face="Arial">Se encontraron <font color="#FF0000"> <b>0</b> resultados</font></font></p>

<ul>
<li><font face="Arial"><a href="buscador.asp">Buscar nuevamente</a></font></li>
<li><font face="Arial">
<a href="resultados.asp?orden=nombre&no_stand=<%=no_stand%>&cantidad=10">Repetir la búsqueda sin restricciones</a></font></li>
</ul>
<%
'sino, si es que encuentra registros
Else
' Nos movemos a la página elegida
RS.AbsolutePage = pagina_actual
' muestra el dato de la página en la que estamos...
%>
<div align="center">
<center>
<table border="1" cellspacing="1" style="border-width:0; border-collapse: collapse" bordercolor="#111111" width="80%" id="AutoNumber1">
<tr>
<td width="29%" bgcolor="#CCCCFF" style="border-left:medium none #111111; background-color: #DDDDFF; border-right-style:none; border-right-width:medium; border-top-style:none; border-top-width:medium; border-bottom-style:none; border-bottom-width:medium" align="center">
<p style="text-align: left"><b><font color="#003366" face="Arial" size="2">
Expositor</font></b></td>
<td width="36%" bgcolor="#CCCCFF" style="border-style: none; border-width: medium; background-color: #DDDDFF; text-align:center">
<font color="#003366" face="Arial" size="2"><b>Stand</b></font></td>
<td width="13%" bgcolor="#CCCCFF" style="border-style: none; border-width: medium; background-color: #DDDDFF" align="center">
<p align="center"><font color="#003366" face="Arial" size="2"><b>Medidas</b></font></td>
<td width="10%" bgcolor="#CCCCFF" style="border-style: none; border-width: medium; background-color: #DDDDFF" align="center">
<p align="center"><font color="#003366" face="Arial" size="2"><b>Precio</b></font>
<p align="center"><b><font color="#003366" size="2" face="Arial">usd</font></b></td>
<td width="18%" bgcolor="#CCCCFF" style="border-right:medium none #111111; background-color: #DDDDFF; border-left-style:none; border-left-width:medium; border-top-style:none; border-top-width:medium; border-bottom-style:none; border-bottom-width:medium" align="center">
<p align="center" style="text-align: center"><font color="#003366" face="Arial" size="2"><b>ID</b></font></td>
</tr>
<%

' Hacemos el bucle mostrando los datos del registro
registro_mostrado = 0
Do While registro_mostrado < mostrar And Not RS.EOF
if colorfila = 0 then
color= "#FFFFFF"
colorfila=1
else
color="#F3F3F3"
colorfila=0
end if
%>

<tr>
<td width="29%" style="border-style:none; border-width:medium; background-color: <%= color %>; "><font face="Arial" size="2"><b><%=RS("nombre")%></b> </td>
<td width="36%" style="border-style:none; border-width:medium; background-color: <%= color %>; text-align:left; "><font face="Arial" size="2"><%=RS("no_stand")%></a></font> </td>
<td width="13%" align="center" style="border-style:none; border-width:medium; background-color: <%= color %>; text-align:center; "><font face="Arial" size="2"><%=RS("medidas")%></font><font face="Arial" size="2">
</td>
<td width="10%" align="center" style="border-style:none; border-width:medium; background-color: <%= color %>; text-align:center; "><font face="Arial" size="2"><%=RS("costo")%></font>
</td>
<td width="18%" align="center" style="border-style:none; border-width:medium; background-color: <%= color %>; text-align:center; ">
<p><font face="Arial" size="2" color="#FF0000"><font face="Arial" size="2"><%=RS("clave_stand")%></font></td>
</tr>
<%
' Sumamos 1 a los mostrados
registro_mostrado = registro_mostrado + 1
' Nos movemos al próximo registro...
RS.MoveNext
Loop

End If
%>
</table>

</center>
</div>

<%
' Cerramos y limpiamos...
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
%>
<div align="center"><br>
<font size="2" face="Arial">
<%
' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If pagina_actual > 1 Then
%> </font><font size="2"> <a href="resultados.asp?eje=30&page=<%= pagina_actual - 1 %>&no_stand=<%=no_stand%>&nombre=<%=nombre%>&orden=<%=orden%>">
<font face="Arial">[</font><b><font face="Arial"><<</font></b><font face="Arial"> anterior ]</font></a><font face="Arial"> <%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%> <font color="#FF3300">
<b><%= I %></b></font>
<%
Else
%>
<a href="resultados.asp?eje=30&page=<%= I %>&no_stand=<%=no_stand%>&nombre=<%=nombre%>&orden=<%=orden%>"><%= I %></a>
<%
End If
Next 'I

If pagina_actual < cant_paginas Then
%> </font> <a href="resultados.asp?eje=30&page=<%= pagina_actual + 1 %>&no_stand=<%=no_stand%>&nombre=<%=nombre%>&orden=<%=orden%>">
<font face="Arial">[ </font>
</font>

<font size="2" face="Arial"> siguiente
</font>

<font size="2">
<b><font face="Arial">>></font></b></font><font face="Arial" size="2">]</font></a><font size="2">
<br>
</font>

<%
End If
'Fin
%>
</div>

<br><center><font face="Arial" size="1"><a href="buscador.asp">Buscar de nuevo</font><font size="2"><a/>
</a></font>

</BODY>


Gracias!

Suerte!

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar