Recentemente, treinei outras pessoas em paginação ASP. Para novatos em ASP, a paginação mais simples é usar a tecnologia de paginação Recordset. Ela é usada principalmente para paginar uma pequena quantidade de dados. adequado para paginar uma grande quantidade de dados.
1. Criar objeto Recordset
Copie o código da seguinte forma:Dim objMyRst
Set objMyRst=Server.CreateObject(ADODB.Recordset)
objMyRst.CursorLocation=adUseClientBatch 'O cliente pode processar em lote
objMyRst.CursorType=adOpenStatic' O tipo de cursor é um tipo estático.
Observação: objetos Recordset não podem ser
.usado com Set objMyRst=Connection. A instrução strSQL é criada porque o objeto Recordset criado é adOpenFowardOnly e não oferece suporte à paginação
2 do conjunto de registros. Abra o objeto Recordset
e copie o código da seguinte forma:
Dim strSql
strSql=select * from ietable
objMyRst.Oepn strSql,ActiveConnection,,,adCmdText
3. Defina a propriedade PageSize do Recordset
e copie o código da seguinte maneira:
objMyRst.PageSize=20
O PageSize padrão é 10.
4. Defina a propriedade AbsolutePage do Recordset
da seguinte forma:
Copie o código da seguinte forma:
Dim intCurrentPage
intCurrentPage=1
objMyRst.AbsolutePage=intCurrentPage
AbsolutePage é 1 para o valor PageCount do objeto Recordset
5.
O códigopara exibir
o código de cópia de dados é o seguinte:
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> )
Instruções:
1. adOpenStatic, adUseCilentBatch, adCmdText são constantes definidas por adovbs.inc. Para usá-las, copie adovbs.inc para o diretório atual e inclua-as no programa
:
<! --#Include File=adovbs.inc-->
2. O código de PrintFielName, função PrintFieldValue é o seguinte:
Copie o código da seguinte forma:
<%
Function PrintFieldName(objMyRst)
'O parâmetro objMyRst é um objeto Recordset
' Definição
Dim objFld
Response.Write <tr bgcolor='#CCCCCC'>
para cada objFld em objMyRst.Fields
Response.Write <td> & objFld.Name & </td>
Próximo
Response.Write(</tr>)
End Function
Function PrintFieldValue(objMyRst)
'O parâmetro objMyRst é um objeto Recordset
' Definição
Dim objFld
Response.Write(<tr >)
For Cada objFld em objMyRst.Fields
'Response.Write<td> & objMyRst.Fields(intLoop).value & </td>
Response.Write <td> & objFld.value & </td>
Próximo
Response.Write(<tr>)
Função Final
%>