Program paging asp + sqlserver milik saya: Karakteristik dari program ini adalah membuang catatan halaman saat ini ke halaman. Performanya bagus, dan tidak memerlukan prosedur tersimpan. Karena kodenya tidak dienkapsulasi, kode ini sangat terfragmentasi. Kemudian perhatikan arti dari tempat-tempat yang perlu Anda tentukan sendiri. Beberapa dapat dihilangkan. Beberapa parameter yang lewat juga dapat dihilangkan.
Kodenya adalah sebagai berikut:
'''' Alat paging Salju Saibei (server sql) tidak memerlukan prosedur tersimpan --------------------------- ---
'Ada # di komentar ## memerlukan pengaturan pengguna
'Ada deskripsi penerusan parameter** di komentar yang akan diteruskan melalui parameter.
'Tentukan variabel
kondisi permintaan dim tOption '
dim tOrder 'Urutkan string
dim tOrderField 'Bidang pesanan dapat diperoleh melalui parameter: order_field
dim tOrderDirection 'Arah pengurutan dapat diperoleh melalui parameter: order_direction
dim tPageSize 'Ukuran halaman
dim tTotalCount 'Jumlah total record dapat diperoleh melalui parameter: t_count
redupkan tPageCount 'Jumlah halaman
dim tCurPage 'Nomor halaman saat ini dapat diperoleh melalui parameter: page
dim tTableName 'Nama tabel atau tampilan
redupkan tFieldAlias 'alias nomor baris
redupkan tFieldList 'Daftar bidang kueri
dim tPageField 'Bidang yang digunakan untuk paging
dim r_count 'Jumlah catatan yang ditemukan
Pemrosesan penyortiran
objek kumpulan rekaman
'
tOrderField=Request("order_field") 'Dapatkan bidang pengurutan (parameter yang lewat**)
tOrderDirection=Request("order_dir") 'Dapatkan arah penyortiran (parameter yang lewat**)
if(tOrderField="") lalu tOrderField="item_code" ' ### Setel bidang penyortiran default
if(tOrderDirection="") lalu tOrderDirection="asc" ' ### Tetapkan arah pengurutan default
'www.downcodes.com
tOrder=" pesan berdasarkan " & tOrderField & " " & tOrderDirection & " " 'Buat string pengurutan
'Tentukan parameter
tPageSize=find_rs_count ' ### Tetapkan ukuran halaman
tTableName="view_select1" ' ### Atur dan kueri tabel atau tampilan
tFieldList=" * " ' ### Daftar bidang yang ingin ditanyakan
tPageField="item_code" ' ### Tetapkan kunci utama atau bidang indeks unik untuk perhitungan paging
'Pemrosesan halaman
tCurPage=Request("page") 'Dapatkan halaman saat ini (parameter yang lewat**)
tTotalCount=Request("t_count") 'Dapatkan jumlah total halaman (parameter yang lewat**)
if(tCurPage="") maka tCurPage=1
jika(cint(tCurPage)=0) maka tCurPage=1
jika(tPageCount="") maka tPageCount =1
if(cint(tPageCount)=0) maka tPageCount=1
' Buatlah kondisi kueri, yang pasti akan berbeda tergantung pada program spesifiknya. Tapi syarat terakhirnya harus “dimana???”
tOption=" issue_flag='Y'" ' ### Tetapkan ketentuan
if f_c<>"" lalu tOPtion= tOPtion & f_c ' ### Tetapkan kondisi
jika trim(tOption)="" lalu
tOption = " di mana 1=1 " 'Jika tidak ada syarat, tambahkan sendiri.
kalau tidak
tPilihan= " di mana " & tPilihan
berakhir jika
'Bangun string kueri, inti dari program paging ini. String kueri ini adalah catatan yang kita perlukan untuk mengunduh halaman saat ini saja.
jika(tCurPage>1) lalu
conStr="pilih atas " & tPageSize & " " & tFieldList & " dari " & tTableName & tOption
conStr =conStr & " dan " & tPageField & " tidak masuk(pilih atas " & tPageSize*(tCurPage-1) & " " & tPageField & " dari " & tTableName & tOption & " " & tOrder & ") " & tOrder
kalau tidak
conStr="pilih atas " & tPageSize & " " & tFieldList & " dari " & tTableName & tOption & " " & tOrder
berakhir jika
'Jalankan kueri utama dan dapatkan kumpulan catatan yang sesuai
Panggil ConnDataBase() ' ### Buat koneksi database
rs.kursorlokasi=3
rs.open conStr,conn,3,1 'Jalankan kueri
r_count = rs.recordcount
'Bila jumlah total rekaman belum ditanyakan dan jumlah total rekaman melebihi ukuran halaman, kueri jumlah total rekaman dalam kondisi saat ini
if(r_count>=tPageSize atau tCurPage>1) dan tTotalCount=0 maka
set rr=conn.execute("pilih hitungan(*) dari " & tNamaTabel & " " & tOption)
tJumlahTotal=rr(0)
rr.tutup()
setrr=tidak ada
berakhir jika
if(cint(tTotalCount)=0) kemudian tTotalCount=r_count 'Jika total catatan adalah 0, atur jumlah catatan dalam perbedaan catatan saat ini diatur ke jumlah total catatan, yang menunjukkan bahwa jumlah total catatan saat ini kurang dari ukuran halaman
'Hitung jumlah halaman menggunakan ukuran halaman dan jumlah total catatan
jika(cint(tTotalCount)>cint(tPageSize)) lalu
tPageCount=cint((cint(tTotalCount) cint(tPageSize)))
if(cint(tTotalCount) mod cint(tPageSize))>0 lalu
tPageCount =tPageCount +1
berakhir jika
berakhir jika
tCurPage=cint(tCurPage)
tPageCount=cint(tPageCount)
'------------------------------------------------ - -------------------
Ini keseluruhan kodenya. Teman-teman yang berminat bisa mempelajarinya, atau merangkumnya dan menambahkan navigasi paging dan metode lainnya. Bagaimanapun, saya harap kode ini dapat bermanfaat bagi semua orang.