Ich habe kürzlich andere in ASP-Paging geschult. Für Anfänger ist es am einfachsten, die Paging-Technologie von Recordset zu verwenden Geeignet zum Auslagern großer Datenmengen.
1. Erstellen Sie ein Recordset-Objekt
Kopieren Sie den Code wie folgt:Dim objMyRst
Set objMyRst=Server.CreateObject(ADODB.Recordset)
objMyRst.CursorLocation=adUseClientBatch 'Der Client kann objMyRst.CursorType=adOpenStatic stapelweise verarbeiten
'. Der Cursortyp ist ein statischer Typ.
Hinweis: Recordset-Objekte können nicht sein Wird mit Set objMyRst=Connection verwendet Die strSQL-Anweisung wird erstellt, weil das von ihr erstellte Recordset-Objekt adOpenFowardOnly ist und Recordset-Paging 2 nicht unterstützt
. Öffnen Sie das Recordset-Objekt
und kopieren Sie den Code wie folgt:
Dim strSql
strSql=select * from ietable
objMyRst.Oepn strSql,ActiveConnection,,,adCmdText
3. Legen Sie die PageSize-Eigenschaft von Recordset fest
und kopieren Sie den Code wie folgt:
objMyRst.PageSize=20
Die Standard-PageSize ist 10.
4. Legen Sie die AbsolutePage-Eigenschaft von Recordset
wie folgt fest:
Kopieren Sie den Code wie folgt:
Dim intCurrentPage
intCurrentPage=1
objMyRst.AbsolutePage=intCurrentPage
AbsolutePage ist 1 für den PageCount-Wert des Recordset-Objekts
5.
Der Codezum Anzeigen des Datenkopiercodes
lautet wie folgt:
Response.Write(<table>)
PrintFieldName(objMyRst)
For i=1 To objMyRst.PageSize
PrintFieldValue(objMyRst)
objMyRst.MoveNext
If objMyRst.Eof Then Exit For
Next
Response.Write( </table> )
Anleitung:
1. adOpenStatic, adUseCilentBatch und adCmdText sind von adovbs.inc definierte Konstanten. Um sie zu verwenden, kopieren Sie adovbs.inc in das aktuelle Verzeichnis und fügen Sie sie
wie folgt in das Programm ein:
<! --#Include File=adovbs.inc-->
2. Der Code der Funktion PrintFielName, PrintFieldValue lautet wie folgt:
Kopieren Sie den Code wie folgt:
<%
Function PrintFieldName(objMyRst)
'Der Parameter objMyRst ist ein Recordset-Objekt
' Definition
Dim objFld
Response.Write < tr bgcolor='#CCCCCC'>
Für jedes objFld in objMyRst.Fields
Response.Write <td> & objFld.Name & </td>
Next
Response.Write(</tr>)
End Function
Function PrintFieldValue(objMyRst)
'Der Parameter objMyRst ist ein Recordset-Objekt
' Definition
Dim objFld
Response.Write(<tr >)
For Jedes objFld In objMyRst.Fields
'Response.Write<td> & objMyRst.Fields(intLoop).value & </td>
Response.Write <td> & objFld.value & </td>
Next
Response.Write(<tr>)
End Function
%>