Setelah membaca banyak perkenalan, saya mengetahui bahwa efisiensi eksekusi set rs=conn.execute(sql) jauh lebih tinggi daripada rs.open sql,conn,1,1, tetapi ada banyak metode eksekusi set rs=conn. mengeksekusi(sql). Kekurangannya, pertama, tidak memiliki atribut paging, seperti rs.pagesize, rs, absolutepage dan atribut lainnya Meskipun kecepatan eksekusi rs=conn.execute(sql) lebih cepat, ia tidak dapat melakukan paging dengan cara normal. ?
Keesokan harinya, saya memeriksa informasi di Internet, dan tiba-tiba berpikir apakah saya dapat memasukkan data yang diperlukan ke dalam array, dan kemudian membuat halaman array? Pertama, saya mengeluarkan hasil kueri set rs=conn.execute(sql) dan melampirkannya ke array melalui rs.getrows(), jadi saya mencari postingan pagination di berbagai situs web, meskipun saya menemukan banyak postingan pagination dengan efisiensi tinggi (Termasuk prosedur tersimpan, dll), tetapi ternyata semua harus dieksekusi melalui SQL, yaitu pernyataan SQL perlu dijalankan saat membalik halaman. Saat ini, kepala saya pusing, dan hanya pernyataan SQL yang dioptimalkan .Saat ini, benar-benar tidak ada cara, jadi saya harus melakukannya sendiri. Akhirnya, saya telah menyelesaikan draf kasar penomoran halaman array. Kodenya tidak terlalu lengkap. Biarkan semua orang mempelajarinya bersama! Kodenya adalah sebagai berikut:
Pertama ada halaman permintaan index.asp:
<html xmlns=http://www.w3.org/1999/xhtml>
<kepala>
<meta http-equiv=Jenis Konten konten=teks/html; charset=gb2312 />
<title>Dokumen Tanpa Judul</title>
</kepala>
<body><FORM id=Nama SearchForm=Metode SearchForm=posting tindakan=search.asp?act=cha>
<kelas div=masukan>
<input id=kata kunci onmouseover=this.focus() title=Cari catatan pesan Anda dengan cepat onfocus=this.select() class=in maxlength=35 name=keyword />
<pilih gaya=lebar:120px;margin-top:-25px nama=ID Saluran>
<option value=k2>Tinggalkan komentar</option>
<option value=k1>Isi pesan</option>
</pilih>
<Masukkan id=search_btn ketik=kirim nilai=kueri>
</div>
</BENTUK>
</tubuh>
</html>
kode pencarian.asp:
<html xmlns=http://www.w3.org/1999/xhtml>
<kepala>
<meta http-equiv=Jenis Konten konten=teks/html; charset=gb2312 />
<title>Dokumen Tanpa Judul</title>
</kepala>
<tubuh>
<%
Jika request.querystring(act)=cha Lalu
search_type=request.FORM(ID Saluran)
kata kunci=permintaan.form(kata kunci)
jika search_type=k1 maka 'Cari menurut isi pesan
sql=pilih * dari gbook_rec di mana g_content menyukai '%&kata kunci&%'
ElseIf search_type=k2 maka
'if search_type=k2 lalu 'Cari menurut orang yang meninggalkan pesan
sql=pilih * dari gbook_rec di mana g_name seperti '%&kata kunci&%'
Kalau tidak
respon.akhir
akhirJika
Setel rs=sambungan.eksekusi(sql)
Jika rs.eof Dan rs.bof Lalu
%>
<div class=search>Catatan yang Anda cari tidak ditemukan! </div>
<%
respon.Akhir
Kalau tidak
aResults=rs.getrows()' Keluarkan datanya dan masukkan ke dalam array ROW
aplikasi(data)=aHasil
Tetapkan rs=tidak ada
samb.close 'Tutup database
Akhir JIKA
Akhiri Jika
aHasil=aplikasi(data)
Redupkan saya, baris, ukuran halaman, epage, mati rasa, jumlah halaman, fenye
numb=UBound(aResults,2)+1 'Jumlah total baris yang direkam
pagesize=2 'Jumlah item per halaman
Jika numb Mod pagesize = 0 Lalu 'Nilai jumlah total halaman
jumlah halaman=Int(mati rasa/ukuran halaman)
Kalau tidak
jumlah halaman=Int(mati rasa/ukuran halaman)+1
Akhiri Jika
epage=permintaan.querystring(halaman)
Jika ehalaman= Maka ehalaman=1
Untuk i=(ehalaman-1)*ukuran halaman Ke ehalaman*ukuran halaman-1
Jika i>UBound(aResults,2) Atau i<0 Lalu Keluar untuk
%>
<kelas div=konten>
<ul><li>Rekam<%=i+1%></li>
<li>Tinggalkan komentar: <%=aResults(1,i)%></li>
<li>Isi: <%=aResults(2,i)%></li>
<li>Waktu:<%=aResults(3,i)%></li>
<li>IP:<%=aHasil(5,i)%></li>
</ul>
</div>
<%
Berikutnya
Jika mati rasa>ukuran halaman Lalu
fenye=<a href=search.asp?page=1>Beranda</a>
fenye=fenye&<a href=search.asp?page=&epage-1& title=&epage-1&>Halaman sebelumnya</a>
fenye=fenye&<a href=search.asp?page=&epage+1& title=&epage+1&>Halaman berikutnya</a>
fenye=fenye&<a href=search.asp?page=&pagecount&>halaman terakhir</a>
fenye=fenye&<BR>
fenye=fenye&Jumlah total halaman &jumlah halaman&, halaman &epage& saat ini, total catatan adalah: &mati rasa
respon.tulis fenye
Berakhir jika
%>
</tubuh>
</html>
Ringkasan: Menurut saya kode di atas tidak perlu terhubung ke database kecuali untuk query awal, dan tidak perlu terhubung ke database di lain waktu. Ini sangat berguna untuk menghemat sumber daya saat menanyakan data yang besar atau ketika ada banyak orang yang terhubung! Selain itu, larik kueri disimpan pada objek aplikasi, dan Anda juga dapat menilai apa yang ditanyakan seseorang berdasarkan aplikasi(data)(nama pengguna). masa depan! Saya harap semua orang akan memperhatikan dan mendukung, terima kasih!
tes.rar