Paginação ASP

E ae


Depois de muito tempo sem postar, vou postar alguma coisa sobre páginação de dados com asp e access


Crie um novo arquivo e dê o nome de paginacao.asp.


Vou colocar o arquivo abaixo, com as devidas explicações, em outra cor. Vale lembrar que esta é uma das maneiras de paginar os dados, existem várias outras


<%

'Efetuando a conexão com a base de dados criada

Set Conn = Server.CreateObject("AdoDb.Connection")

Conn .Open "Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\caminho do seu banco de dados"


'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo numa variavel, no caso "rs", pois vamos utilizar algumas funções deste objeto

Set rs = Server.CreateObject("adodb.recordset")


rs.PageSize = 5 'quantidade de registros por página. Você pode alterar conforme sua necessidade.


'Vamos fazer a busca na tabela contatos

SQL = "select * from contatos"

rs.Open SQL,Conn,3,3 'Se der algum erro nessa linha troque o ultimo 3 pelo numero 1


'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.

if rs.EOF then

Response.Write "nenhum registro encontrado"

else

'Definindo em qual pagina o visitante está

if Request.QueryString("pagina") = "" then

intpagina = 1

else

if cint(Request.QueryString("pagina")) < intpagina="1"> rs.PageCount then

intpagina = rs.PageCount

else

intpagina = Request.QueryString("pagina")

end if

end if

end if

end if 'Fim das verificações de exceções


'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta

rs.AbsolutePage = intpagina


' Inicia o contador que vai controlar os registros mostrados

intrec = 0


'Enquanto o contador for menor que a quantidade de registros mostrados ou 'não for o final do arquivo

While intrec <> rs.PageSize and not rs.EOF


'------------------- AQUI VEM TUDO O QUE SERÁ PAGINADO -----------------------

response.write rs("nome") & " - " & rs("telefone") & " - " & rs("email")

'-----------------------------------------------------------------------------------------



rs.MoveNext


' Acrescenta +1 ao contador

intrec = intrec + 1



'Se for EOF (fim de arquivo), imprimir branco na tela

Wend 'fim do loop


'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”.

if intpagina > 1 then

%>

<a href="" pagina="<%=intpagina-1%>">Anterior</a>

<%

end if


'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página

if strcomp(intpagina,RS.PageCount) <> 0 then

%>

<a href="" pagina="<%=intpagina%>">Próxima</a>

<%

end if


rs.close 'Fechando a conexão

Set rs = nothing 'Destruindo a variavel

%>


Shirimmmm...Está pronta a paginação dos seus dados


Dúvidas entrem em contato