Empfohlen: Vergleich zwischen ASP -Technologie und PHP, CGI, JSP und anderen Technologien Derzeit sind die drei am häufigsten verwendeten dynamischen Websprachen ASP (Active Servers Pages), JSP (JavaServer Pages) und PHP (Hypertext -Präzessor). Einführung ASP Voller Name Active Server Pages ist eine Webserver-Seite-Entwicklungsumgebung.
Nachdem ich viele Einführungen gelesen habe, weiß ich, dass die Ausführungseffizienz von SET RS = Conn.execute (SQL) viel höher ist als die von Rs.open SQL, Conn, 1,1, aber die Ausführungsmethode von Set RS = CONN.Execute (SQL) hat auch viele Mängel. Erstens gibt es keine Paging -Attribute wie Rs.PageSize, RS, AbsolutePage und andere Attribute. Auf diese Weise wird es auf diese Weise auf diese Weise schneller ausgeführt, obwohl RS = Conn.execute (SQL) schneller ausgeführt wird, es nicht auf gewöhnliche Weise paginieren kann. Was soll ich tun? ?
Am nächsten Tag überprüfte ich die Informationen online und überlegte plötzlich darüber, ob ich die erforderlichen Daten an ein Array erwähnen und dann das Array paginieren konnte? Zuerst habe ich die Ergebnisse des Abfragesatzes RS = Conn.execute (SQL) durch rs.getrows () herausgenommen und es an ein Array angehängt. Also suchte ich auf jeder Website nach Web -Posts. Obwohl ich viele effiziente PAGED -Beiträge (einschließlich gespeicherter Verfahren usw.) gefunden habe, stellte ich fest, dass alle über SQL ausgeführt werden mussten, dh beim Drehen der Seite musste ich auch SQL -Anweisungen ausführen. Zu diesem Zeitpunkt war ich schwindelig, und die einzige Optimierung waren nur SQL -Aussagen. Ich hatte wirklich keine andere Wahl, als hart an mir selbst zu arbeiten! Schließlich wurde ein grober Entwurf des Array -Pagings abgeschlossen. Der Code war nicht sehr vollständig. Lassen Sie alle es zusammen studieren! Der Code ist wie folgt:
Zuerst gibt es eine Index.asp -Abfrageseite:
| <html xmlns = http: //www.w3.org/1999/xhtml> <kopf> <meta http-äquiv = content-type content = text/html; charSet = gb2312 /> <title> bis zum Titel "Dokument" </title> </head> <Body> <Formular ID = SearchForm Name = SearchForm Methode = post action = such.asp? Act = cha> <div class = input> <Eingabe -ID = Schlüsselwort onmouseover = this.focus () title = schnell durchsuchen Sie Ihren Nachrichtenrekord onfocus = this.select () class = in maxLength = 35 name = keyword /> <select style = width: 120px; margin-top: -25px name = ChannelId> <Option Value = K2> Nachricht </Option> <Option Value = K1> Nachrichteninhalt </Option> </select> <Eingabe -ID = search_btn type = value = query> </div> </Form> </body> </html> Search.asp Code: <html xmlns = http: //www.w3.org/1999/xhtml> <kopf> <meta http-äquiv = content-type content = text/html; charSet = gb2312 /> <title> bis zum Titel "Dokument" </title> </head> <body> <% Wenn request.queryString (act) = cha dann search_type = request.form (ChannelId) Schlüsselwörter = Request.form (Schlüsselwort) Wenn search_type = k1, dann 'suchen Sie nach dem Inhalt der Nachricht SQL = SELECT * von gbook_rec wobei g_content wie '%& keywords &%' mögen Elseif Search_type = K2 Dann 'if search_type = k2, dann' suche nach der meldung SQL = SELECT * von gbook_rec wobei G_NAME wie '%& Keywords &%' Anders Antwort.end Ende wenn Setzen Sie RS = Conn.Execute (SQL) Wenn rs.eof und rs.Bof dann dann %> <div class = such> Der gewünschte Datensatz wurde nicht gefunden! </div> <% Antwort.end Anders aresults = rs.getrows () 'Nehmen Sie die Daten heraus und legen Sie sie in die Array -Zeile ein Anwendung (Daten) = Aresults Setzen Sie Rs = nichts conn.close 'Schließen Sie die Datenbank Ende wenn Ende wenn aresults = application (Daten) Dim I, Row, PageSize, Epage, Taub, PageCount, Fenye Numb = Ubound (Aresults, 2) 1 'Gesamtzahl der Datensätzezeilen pageSize = 2 'Anzahl der pro Seite Wenn Numb modssize = 0 ist, beurteilen Sie die Gesamtzahl der Seiten PageCount = int (numb/pageSize) Anders pageCount = int (numb/pageSize) 1 Ende wenn Folge = Request.queryString (Seite) Wenn epage = dann epage = 1 Für i = (epage-1)*pageSize to epage*pageSize-1 Wenn ich (Aresults, 2) oder i <0 beenden, beenden Sie für %> <div class = content> <ul> <li> Aufzeichnung <%= i 1%> </li> <li> Nachricht: <%= Aresults (1, i)%> </li> <li> Inhalt: <%= Aresults (2, i)%> </li> <li> Zeit: <%= Aresults (3, i)%> </li> <li> IP: <%= Aresults (5, i)%> </li> </ul> </div> <% Nächste Wenn taub> pagesze dann dann fenye = <a href = such.asp? Seite = 1> Startseite </a> fenye = fenye & <a href = such.asp? page = & epage-1 & title = & epage-1 &> vorherige Seite </a> fenye = fenye & <a href = such.asp? page = & epage 1 & title = & epage 1 &> Letzte Seite </a> fenye = fenye & <a href = such.asp? page = & pagecount &> Letzte Seite </a> Fenye = Fenye & <br> Fenye = Fenye & Gesamtzahl von Seiten & PageCount &, aktuelle Seite & Epage &, Gesamtdatensatz ist: & taub Antwort. Schreiben Sie Fenye Ende wenn %> </body> </html> |
Zusammenfassung: Ich glaube, dass der obige Code mit Ausnahme der ersten Abfrage nicht mit der Datenbank verbunden sein muss, und es ist sehr nützlich für das Sparen von Ressourcen, wenn große Datenabfragen oder eine große Anzahl von Personen miteinander verbunden sind! Speichern Sie außerdem das Abfragearray im Anwendungsobjekt und Sie können auch bestimmen, was jemand basierend auf der Anwendung (Daten) (Benutzername) abfragt hat. Dieser Code ist jedoch das erste Modell und wird mehr als genug sein, um ihn in Zukunft zu verbessern! Ich hoffe, jeder wird es achten und es unterstützen, danke!
Testcode herunterladen
Teilen: Ein kostenloser einfacher Chatroom -Quellcode chat.html Im Folgenden finden Sie den referenzierten Inhalt: <html> <kopf> <titels> CHAT </title> </head> <rahmenset rows =*, 100> &