Después de leer muchas introducciones, sé que la eficiencia de ejecución de set rs=conn.execute(sql) es mucho mayor que la de rs.open sql,conn,1,1, pero existen muchos métodos de ejecución de set rs=conn. ejecutar (sql). Desventajas: en primer lugar, no tiene atributos de paginación, como rs.pagesize, rs, absolutpage y otros atributos, en este caso, configurados de esta manera. Aunque la velocidad de ejecución de rs=conn.execute(sql) es más rápida, no se puede paginar de la forma normal. ¿Qué debo hacer? ?
Al día siguiente, verifiqué la información en Internet y de repente pensé si podría poner los datos requeridos en una matriz y luego paginar la matriz. Primero, saqué el resultado de la consulta de set rs=conn.execute(sql) y lo adjunté a una matriz a través de rs.getrows(), así que busqué publicaciones de paginación en varios sitios web, aunque encontré muchas publicaciones de paginación de alta eficiencia. (Incluidos los procedimientos almacenados, etc.), pero resulta que todos deben ejecutarse a través de SQL, es decir, las declaraciones SQL deben ejecutarse al pasar las páginas. En este momento, mi cabeza está mareada y solo las declaraciones SQL están optimizadas. En este momento, realmente no hay manera, así que tengo que hacerlo yo mismo. Finalmente, completé un borrador de paginación de matrices. ¡El código no está muy completo! El código es el siguiente:
Primero hay una página de consulta index.asp:
<html xmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<meta http-equiv=Tipo de contenido content=text/html charset=gb2312 />
<título>Documento sin título</título>
</cabeza>
<cuerpo><ID FORMULARIO=nombre del formulario de búsqueda=método del formulario de búsqueda=acción de publicación=search.asp?act=cha>
<div clase=entrada>
<input id=palabra clave onmouseover=this.focus() title=Busca rápidamente tus registros de mensajes onfocus=this.select() class=in maxlength=35 nombre=palabra clave />
<seleccionar estilo=ancho:120px;margen superior:-25px nombre=ID de canal>
<option value=k2>Deja un comentario</option>
<option value=k1>Contenido del mensaje</option>
</seleccionar>
<ID de entrada=tipo de btn_búsqueda=valor de envío=consulta>
</div>
</FORM>
</cuerpo>
</html>
código de búsqueda.asp:
<html xmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<meta http-equiv=Tipo de contenido content=text/html charset=gb2312 />
<título>Documento sin título</título>
</cabeza>
<cuerpo>
<%
Si request.querystring(act)=cha Entonces
tipo_búsqueda=solicitud.FORM(ID de canal)
palabras clave=solicitud.formulario(palabra clave)
si search_type=k1 entonces 'Buscar según el contenido del mensaje
sql=select * de gbook_rec donde g_content como '%&keywords&%'
De lo contrario, si tipo_búsqueda = k2, entonces
'si search_type=k2 entonces 'Busca según la persona que dejó el mensaje
sql=select * de gbook_rec donde g_name como '%&keywords&%'
Demás
respuesta.fin
final si
Establecer rs=conn.execute(sql)
Si rs.eof y rs.bof entonces
%>
<div class=search>¡El registro que busca no se encuentra! </div>
<%
respuesta.Fin
Demás
aResults=rs.getrows()' Saque los datos y colóquelos en la fila de la matriz
aplicación(datos)=aResultados
Establecer rs = nada
conn.close 'Cerrar la base de datos
Fin SI
Terminar si
aResultados=aplicación(datos)
Dim i, fila, tamaño de página, epage, entumecido, recuento de páginas, fenye
entumecido=UBound(aResultados,2)+1 'Número total de filas registradas
pagesize=2 'Número de elementos por página
Si entumecido Mod pagesize = 0 Entonces 'Juzga el número total de páginas
recuento de páginas=Int(numero/tamaño de página)
Demás
recuento de páginas=Int(numero/tamaño de página)+1
Terminar si
epage=solicitud.querystring(página)
Si epage= Entonces epage=1
Para i=(epage-1)*pagesize Para epage*pagesize-1
Si i>UBound(aResults,2) o i<0, entonces salga para
%>
<div clase=contenido>
<ul><li>Registro<%=i+1%></li>
<li>Deja un comentario: <%=aResultados(1,i)%></li>
<li>Contenido: <%=aResultados(2,i)%></li>
<li>Tiempo:<%=aResultados(3,i)%></li>
<li>IP:<%=aResultados(5,i)%></li>
</ul>
</div>
<%
Próximo
Si entumecido>tamaño de página Entonces
fenye=<a href=search.asp?page=1>Página de inicio</a>
fenye=fenye&<a href=search.asp?page=&epage-1& title=&epage-1&>Página anterior</a>
fenye=fenye&<a href=search.asp?page=&epage+1& title=&epage+1&>Página siguiente</a>
fenye=fenye&<a href=search.asp?page=&pagecount&>última página</a>
fenye=fenye&<BR>
fenye=fenye&Número total de páginas &pagecount&, página actual &epage&, el total de registros es: &numb
respuesta.escribe fenye
terminar si
%>
</cuerpo>
</html>
Resumen: Creo que el código anterior no necesita conectarse a la base de datos excepto para la consulta inicial, y no necesita conectarse a la base de datos en otros momentos. Es muy útil para ahorrar recursos al consultar datos grandes o cuando hay. ¡Hay mucha gente conectándose! Además, la matriz de consulta se guarda en el objeto de la aplicación y también puede juzgar lo que alguien ha consultado en función de la aplicación (datos) (nombre de usuario). Sin embargo, este código es el primer modelo y debe mejorarse con los esfuerzos de todos en el. ¡futuro! Espero que todos presten atención y apoyo, ¡gracias!
prueba.rar