Recomendado: Comparação entre tecnologia ASP e PHP, CGI, JSP e outras tecnologias Atualmente, os três idiomas dinâmicos da Web mais usados são ASP (Páginas do Servidor Ativo), JSP (Javaserver Pages) e PHP (pré -processador de hipertexto). Introdução As Páginas de servidor ASP Nome completo é um ambiente de desenvolvimento do lado do servidor da Web.
Depois de ler muitas introduções, sei que a eficiência da execução do conjunto RS = Conn.Execute (SQL) é muito maior que a de Rs.pen SQL, Conn, 1,1, mas o método de execução do conjunto RS = Conn.Execute (SQL) também possui muitas respostas. Primeiro de tudo, ele não possui atributos de paginação, como Rs.Pagesize, RS, AbsolutePage e outros atributos. Dessa forma, embora o conjunto RS = Conn.Execute (SQL) seja executado mais rapidamente dessa maneira, ele não pode pagar da maneira comum. O que devo fazer? ?
No dia seguinte, verifiquei as informações on -line e de repente pensei se poderia mencionar os dados necessários para uma matriz e depois pagar a matriz? Primeiro, peguei os resultados do conjunto de consultas rs = Conn.Execute (SQL) através de rs.getRows () e o anexei a uma matriz. Então, procurei postagens paginadas em cada site. Embora eu tenha encontrado muitas postagens pagininhas eficientes (incluindo procedimentos armazenados, etc.), descobri que todos eles precisavam ser executados através do SQL, ou seja, ao girar a página, também precisava executar instruções SQL. Nesse momento, eu estava tonto, e a única otimização eram apenas declarações SQL. Eu realmente não tinha escolha a não ser trabalhar duro comigo mesmo! Finalmente, foi concluído um rascunho aproximado da paginação da matriz. O código não estava muito completo. Deixe todos estudarem juntos! O código é o seguinte:
Primeiro, há uma página de consulta index.asp:
| <html xmlns = http: //www.w3.org/1999/xhtml> <head> <meta http-equiv = content-type content = text/html; charset = gb2312 /> <title> unt intitulado Documento </title> </head> <Body> <formulário ID = Nome da forma de pesquisa = Método da Pesquisa = Post Action = Search.asp? ACT = CHA> <div class = input> <ID de entrada = palavra -chave onMouseOver = title.focus () title = pesquise rapidamente sua mensagem registro onfocus = this.select () class = em maxLength = 35 nome = palavra -chave /> <select style = width: 120px; margem-top: -25px Nome = ChannelId> <opção valor = k2> mensagem </pption> <Opção Valor = K1> Conteúdo da mensagem </pption> </leclect> <ID de entrada = search_btn type = submeter valor = Query> </div> </morm> </body> </html> Código de pesquisa.asp: <html xmlns = http: //www.w3.org/1999/xhtml> <head> <meta http-equiv = content-type content = text/html; charset = gb2312 /> <title> unt intitulado Documento </title> </head> <Body> <% Se request.QueryString (ACT) = CHA então Search_type = request.form (ChannelId) Palavras -chave = request.form (palavra -chave) Se Search_type = K1, então pesquise de acordo com o conteúdo da mensagem sql = selecione * de gbook_rec, onde g_content como '%e palavras -chave e%' Elseif search_type = k2 então 'Se Search_type = K2, então' pesquise pela mensagem sql = selecione * de gbook_rec onde g_name como '%& palavras -chave e%' Outro resposta.END final se Definir rs = Conn.Execute (SQL) Se Rs.eof e Rs.Bof então %> <div class = search> O registro que você deseja não foi encontrado! </div> <% resposta.END Outro Aresults = rs.getRows () 'Retire os dados e coloque -os na linha da matriz aplicação (dados) = Aresults Defina rs = nada Conn.Close 'Feche o banco de dados Final se Final se Aresults = Application (Data) Dim i, Row, Pagesize, Epage, Numb, Pagecount, Fenye Numb = ubound (Aresults, 2) 1 'Número total de registros linhas PageSize = 2 'Número de por página Se Numb mod pagageSize = 0, julgue o número total de páginas pageCount = int (entorpecido/pagageSize) Outro pageCount = int (entorpeso/pagageSize) 1 Final se episódio = request.QueryString (página) Se epage = então epage = 1 Para i = (Epage-1)*Pagesize para Epage*PageSize-1 Se eu> ubound (Aresults, 2) ou i <0 então saia para %> <div class = content> <ul> <li> Registro <%= i 1%> </li> <li> Mensagem: <%= Aresults (1, i)%> </li> <li> Conteúdo: <%= Aresults (2, i)%> </li> <li> Tempo: <%= Aresults (3, i)%> </li> <li> IP: <%= Aresults (5, i)%> </li> </ul> </div> <% Próximo Se entorpecer> Pagesize, então fenye = <a href = search.asp? página = 1> página inicial </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 &> última página </a> fenye = fenye & <a href = search.asp? Page = & pageCount &> última página </a> Fenye = Fenye & <br> fenye = fenye e número total de páginas e pageCount &, página atual e epage e, o registro total é: & entorpecido Response.Write Fenye Final se %> </body> </html> |
Resumo: Acredito que o código acima não precisa estar conectado ao banco de dados, exceto na primeira consulta, e é muito útil para economizar recursos quando grandes consultas de dados ou quando há um grande número de pessoas se conectando! Além disso, salve a matriz de consultas no objeto de aplicativo e você também pode determinar o que alguém consultou com base no aplicativo (dados) (nome de usuário). No entanto, esse código é o primeiro modelo e será mais do que suficiente para melhorá -lo no futuro! Espero que todos prestem atenção e apoiem, obrigado!
Download do código de teste
Compartilhar: um código fonte de sala de bate -papo simples gratuito Chat.html A seguir, é apresentado o conteúdo referenciado: <html> <head> <title> chat </title> </head> <FrameSet linhas =*, 100> &