
22/04/2003, 08:14
|
| | Fecha de Ingreso: enero-2002
Mensajes: 349
Antigüedad: 23 años, 3 meses Puntos: 1 | |
Ok ahi va, voy a poner lo mas importante del codigo asi elimino lineas
<%
Dim buscar
buscar= Trim(Request("buscar") )
buscar=Replace(Request("buscar"),"'", "''")
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/test/mur/bd/clientes.mdb") & ";Persist Security Info=False"
set cnn = CreateObject("ADODB.Connection")
cnn.Open strconn
'*****************************
buscar=Split(Replace(Request.Form("buscar"),"'","' '"))
SQL="SELECT * FROM datos WHERE ((INSTR(nombre,'"&Buscar(0)&"') or INSTR(descripcion,'"&Buscar(0)&"') or INSTR(url,'"&Buscar(0)&"') or INSTR(pclaves,'"&Buscar(0)&"')) AND (grupo='clientes'))"
For i=1 to Ubound(Buscar)
SQL=SQL&" OR ((INSTR(nombre,'"&Buscar(I)&"') or INSTR(descripcion,'"&Buscar(I)&"') or INSTR(url,'"&Buscar(I)&"') or INSTR(pclaves,'"&Buscar(I)&"')) AND (grupo='clientes'))"
Next
'*****************************
'Abrimos el recordset con tipo de cursor 3 para poder
'utilizar bookmarks y saber el nº total de registros
rs.Open SQL, cnn, 3, 1
total_registros = rs.RecordCount
'con esta bandera sabremos si tenemos algún registro o no
banerror = 0
If total_registros > 0 then
'Nos movemos al registro inicial desde donde comenzaremos
'Ponemos una marca en esa posición y por último,
'Utilizamos Getrows para obtener la matriz con SOLO 10 registros
'a partir del registro inicial. Esto posee la ventaja de que no llevamos
'TODOS los registros a la matriz, solo llevamos los que vamos a mostrar
'optimizando de esa forma el uso de la memoria del Servidor
rs.Move p
inicio = rs.Bookmark
mitabla = rs.GetRows(10,inicio)
else
'No hay ningún registro
banerror = 1
end if
'Ya nos podemos librar del Recordset y de la conexión
'porque tenemos los datos en la matriz mitabla
'Por lo tanto limpiamos los objetos
rs.Close
set rs = Nothing
cnn.Close
set cnn = Nothing
'Utilizamos estas variables para hacer referencia a la posición
'de los elementos de la matriz sin tener que utilizar los números
'Es para hacerlo más gráfico simplemente
nombre = 1
descripcion = 2
url = 3
pclaves = 4
If banerror = 1 then
No se encontraron registros bla bla .......
else
............todo los campos bla bla..............
<%'Preguntamos si la cantidad de elementos de la matriz es menor
'que la cantidad TOTAL de registros de la tabla
If Ubound(mitabla,2)+1 < total_registros then
'En caso afirmativo calculamos el nº de páginas que tenemos
'y luego mostramos los links a las demás páginas
If (total_registros mod 10) = 0 then
nro_paginas = Int(total_registros / 10)
else
nro_paginas = Int(total_registros / 10) + 1
end if%>
<table border=0 width=80% cellspacing=0 cellpadding=1 align=center>
<tr>
<td align=left valign=middle style="font-family: Arial; font-size: 8 pt;">
<b><font color="#000099"><font size="1">
<%
'Acá mostramos los links de la forma: Página 1 | 2 | 3 | 4 ...%>
Page
<%For i=0 to nro_paginas-1%>
<%If p = i*10 then%>
<u><%=i+1%></u>
<%else%>
<a href="buscar.asp?ref=<%=i*10%>&buscar=<%=Request(" buscar")%>" class="e" title="See page <%=i+1%>"><%=i+1%></a>
<%end if%>
<%If i < nro_paginas-1 then
Response.Write(" | ")
end if
Next
End If
End If
%>
Gracias por adelantado |