ฉันเพิ่งฝึกผู้อื่นเกี่ยวกับการเพจ ASP สำหรับมือใหม่ที่ยังใหม่กับ ASP การเพจที่ง่ายที่สุดคือการใช้เทคโนโลยีการเพจแบบ Recordset ส่วนใหญ่จะใช้สำหรับเพจข้อมูลจำนวนเล็กน้อย เหมาะสำหรับเพจข้อมูลจำนวนมาก
1. สร้างวัตถุชุดระเบียน
คัดลอกรหัสดังต่อไปนี้:Dim objMyRst
Set objMyRst=Server.CreateObject(ADODB.Recordset)
objMyRst.CursorLocation=adUseClientBatch 'ไคลเอ็นต์สามารถประมวลผลชุดงาน
objMyRst.CursorType=adOpenStatic' ชนิดของเคอร์เซอร์เป็นชนิดคงที่
หมายเหตุ: วัตถุชุดระเบียนไม่สามารถเป็นได้ ใช้กับชุด objMyRst=Connection .Excute คำสั่ง strSQL ถูกสร้างขึ้นเนื่องจากวัตถุ Recordset ที่สร้างขึ้นคือ adOpenFowardOnly และไม่รองรับการเพจชุดระเบียน
2 เปิดวัตถุ Recordset
และคัดลอกโค้ดดังต่อไปนี้:
Dim strSql
strSql=select * from ietable
objMyRst.Oepn strSql,ActiveConnection,,,adCmdText
3 ตั้งค่าคุณสมบัติ PageSize ของ Recordset
และคัดลอกโค้ดดังนี้:
objMyRst.PageSize=20
PageSize เริ่มต้นคือ 10
4 ตั้งค่าคุณสมบัติ AbsolutePage ของ Recordset
ดังนี้:
คัดลอกรหัสดังนี้:
Dim intCurrentPage
intCurrentPage=1
objMyRst.AbsolutePage=intCurrentPage
AbsolutePage คือ 1 ถึงค่า PageCount ของวัตถุ Recordset
5
รหัสสำหรับแสดง
รหัสคัดลอกข้อมูลมีดังนี้:
Response.Write(<table>)
PrintFieldName(objMyRst)
For i=1 To objMyRst.PageSize
PrintFieldValue(objMyRst)
objMyRst.MoveNext
ถ้า objMyRst.Eof แล้วออกสำหรับ
Next
Response.Write( </table> )
คำแนะนำ:
1. adOpenStatic, adUseCilentBatch, adCmdText เป็นค่าคงที่ที่กำหนดโดย adovbs.inc หากต้องการใช้ ให้คัดลอก adovbs.inc ไปยังไดเร็กทอรีปัจจุบันและรวมไว้ในโปรแกรม
ดังนี้:
<! --#Include File=adovbs.inc-->
2. รหัสของฟังก์ชัน PrintFielName, PrintFieldValue เป็นดังนี้:
คัดลอกโค้ดดังนี้:
<%
Function PrintFieldName(objMyRst)
'พารามิเตอร์ objMyRst เป็นวัตถุชุดระเบียน
' คำจำกัดความ
Dim objFld
Response.Write < tr bgcolor='#CCCCCC'>
สำหรับแต่ละ objFld ใน objMyRst.Fields
Response.Write <td> & objFld.Name & </td>
Next
Response.Write(</tr>)
End Function
Function PrintFieldValue(objMyRst)
'พารามิเตอร์ objMyRst is a Recordset object
' คำจำกัดความ
Dim objFld
Response.Write(<tr >)
For แต่ละ objFld ใน objMyRst.Fields
'Response.Write<td> & objMyRst.Fields(intLoop).value & </td>
Response.Write <td> & objFld.value & </td>
Next
Response.Write(<tr>)
ฟังก์ชันสิ้นสุด
%>