โปรแกรมเพจจิ้ง asp + sqlserver ของฉัน: คุณลักษณะของโปรแกรมนี้คือการวางบันทึกของเพจปัจจุบันลงบนเพจ ประสิทธิภาพดี และไม่จำเป็นต้องมีขั้นตอนการจัดเก็บ เนื่องจากโค้ดไม่ได้ถูกห่อหุ้มไว้ จึงมีการแยกส่วนอย่างมาก หากต้องการใช้ในโปรแกรมของคุณ คุณต้องอ่านโค้ดสั้นๆ จากนั้นให้ใส่ใจกับความหมายของสถานที่ที่คุณต้องตั้งเอง บางส่วนสามารถละเว้นได้ การส่งผ่านพารามิเตอร์บางอย่างสามารถละเว้นได้
รหัสดังต่อไปนี้:
'''' เครื่องมือเพจ Snow ของ Saibei (เซิร์ฟเวอร์ sql) ไม่ต้องการขั้นตอนการจัดเก็บ --------------------------- ---
'มี # ในความคิดเห็น ## ต้องมีการตั้งค่าผู้ใช้
'มีคำอธิบายของการส่งผ่านพารามิเตอร์** ในความคิดเห็นที่จะส่งผ่านพารามิเตอร์
'กำหนดตัวแปร
dim tOption 'เงื่อนไขการสืบค้น
dim tOrder 'เรียงลำดับสตริง
dim tOrderField 'ฟิลด์คำสั่งซื้อสามารถรับได้ผ่านพารามิเตอร์: order_field
dim tOrderDirection 'ทิศทางการเรียงลำดับสามารถรับได้ผ่านพารามิเตอร์: order_direction
dim tPageSize ' ขนาดหน้า
dim tTotalCount 'จำนวนบันทึกทั้งหมดสามารถรับได้ผ่านพารามิเตอร์: t_count
dim tPageCount 'จำนวนหน้า'
dim tCurPage 'หมายเลขหน้าปัจจุบันสามารถรับได้ผ่านพารามิเตอร์: หน้า
dim tTableName 'ชื่อตารางหรือมุมมอง
dim tFieldAlias นามแฝงของหมายเลขบรรทัด
dim tFieldList 'รายการฟิลด์แบบสอบถาม
dim tPageField 'ฟิลด์ที่ใช้สำหรับเพจ
dim r_count 'จำนวนบันทึกที่พบ
set rs=server.createobject("adodb.recordset") 'วัตถุชุดบันทึก
' การประมวลผลการเรียง
ลำดับ
tOrderField=Request("order_field") 'รับฟิลด์การเรียงลำดับ (การส่งผ่านพารามิเตอร์**)
tOrderDirection=Request("order_dir") 'รับทิศทางการเรียงลำดับ (ผ่านพารามิเตอร์**)
if(tOrderField="") แล้วก็ tOrderField="item_code" ' ### ตั้งค่าฟิลด์การเรียงลำดับเริ่มต้น
if(tOrderDirection="") แล้วก็ tOrderDirection="asc" ' ### ตั้งค่าทิศทางการเรียงลำดับเริ่มต้น
'www.downcodes.com'
tOrder=" สั่งซื้อโดย " & tOrderField & " " & tOrderDirection & " " 'สร้างสตริงการเรียงลำดับ
'กำหนดพารามิเตอร์
tPageSize=find_rs_count ' ### กำหนดขนาดหน้า
tTableName="view_select1" ' ### ตั้งค่าและสืบค้นตารางหรือมุมมอง
tFieldList=" * " ' ### รายการฟิลด์ที่จะสอบถาม
tPageField="item_code" ' ### ตั้งค่าคีย์หลักหรือฟิลด์ดัชนีเฉพาะสำหรับการคำนวณเพจ
'การประมวลผลหน้า'
tCurPage=Request("page") 'รับหน้าปัจจุบัน (ผ่านพารามิเตอร์**)
tTotalCount=Request("t_count") 'รับจำนวนหน้าทั้งหมด (ผ่านพารามิเตอร์**)
ถ้า(tCurPage="") แล้ว tCurPage=1
ถ้า(cint(tCurPage)=0) แล้ว tCurPage=1
ถ้า(tPageCount="") แล้ว tPageCount =1
if(cint(tPageCount)=0) แล้วก็ tPageCount=1
' สร้างเงื่อนไขการสืบค้น ซึ่งจะแตกต่างกันไปขึ้นอยู่กับโปรแกรมเฉพาะ แต่เงื่อนไขสุดท้ายต้องเป็น "ที่ไหน ???"
tOption=" issue_flag='Y'" ' ### กำหนดเงื่อนไข
ถ้า f_c<>"" ดังนั้น tOPtion= tOPtion & f_c ' ### กำหนดเงื่อนไข
if trim(tOption)="" แล้ว
tOption = " โดยที่ 1=1 " 'หากไม่มีเงื่อนไข ให้เพิ่มเอง
อื่น
tOption= " โดยที่ " & tOPtion
สิ้นสุดถ้า
'สร้างสตริงการสืบค้นซึ่งเป็นแกนหลักของโปรแกรมเพจนี้ สตริงการสืบค้นนี้เป็นบันทึกที่เราต้องดาวน์โหลดเฉพาะหน้าปัจจุบัน
ถ้า(tCurPage>1) แล้ว
conStr = "เลือกด้านบน" & tPageSize & " " & tFieldList & " จาก " & tTableName & tOption
conStr =conStr & " และ " & tPageField & " ไม่ได้อยู่ใน (เลือกด้านบน " & tPageSize*(tCurPage-1) & " " & tPageField & " จาก " & tTableName & tOption & " " & tOrder & ") " & tOrder
อื่น
conStr = "เลือกด้านบน" & tPageSize & " " & tFieldList & " จาก " & tTableName & tOption & " " & tOrder
สิ้นสุดถ้า
'ดำเนินการแบบสอบถามหลักและรับชุดบันทึกที่เกี่ยวข้อง
เรียก ConnDataBase() ' ### สร้างการเชื่อมต่อฐานข้อมูล
rs.cursorlocation=3
rs.open conStr,conn,3,1 'ดำเนินการค้นหา'
r_count = rs.บันทึกนับ
'เมื่อไม่ได้สอบถามจำนวนบันทึกทั้งหมดและจำนวนบันทึกรวมเกินขนาดหน้า ให้ค้นหาจำนวนบันทึกทั้งหมดภายใต้เงื่อนไขปัจจุบัน
if(r_count>=tPageSize หรือ tCurPage>1) และ tTotalCount=0 แล้ว
set rr=conn.execute("เลือกจำนวน(*) จาก " & tTableName & " " & tOption)
tTotalCount=rr(0)
rr.ปิด()
setrr=ไม่มีอะไร
สิ้นสุดถ้า
if(cint(tTotalCount)=0) แล้ว tTotalCount=r_count 'หากจำนวนบันทึกทั้งหมดเป็น 0 ให้กำหนดจำนวนบันทึกในบันทึกผลต่างปัจจุบันที่กำหนดเป็นจำนวนบันทึกทั้งหมด โดยระบุว่าจำนวนบันทึกทั้งหมดในปัจจุบันน้อยกว่า ขนาดหน้า
'คำนวณจำนวนหน้าโดยใช้ขนาดหน้าและจำนวนบันทึกทั้งหมด
ถ้า(cint(tTotalCount)>cint(tPageSize)) แล้ว
tPageCount=cint((cint(tTotalCount) cint(tPageSize)))
if(cint(tTotalCount) mod cint(tPageSize))>0 แล้ว
tPageCount = tPageCount +1
สิ้นสุดถ้า
สิ้นสุดถ้า
tCurPage=cint(tCurPage)
tPageCount=cint(tPageCount)
'------------------------------------------------ - -------------------
นี่คือโค้ดทั้งหมดครับ เพื่อนๆ ที่สนใจสามารถศึกษาหรือสรุปและเพิ่มการนำทางเพจและวิธีอื่นๆ ได้ครับ อย่างไรก็ตาม ฉันหวังว่าโค้ดนี้จะเป็นประโยชน์กับทุกคน