Jump to content


Photo

Paginação Com Cint Ou Clng?


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 NewbieASP

NewbieASP

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 31/07/2009, 16:16

Bom, não sei ao certo o porque deste erro, pois olhei mil tutoriais de paginação... então fiz a minha própria paginação.. no começo, funcionou ok, só que eu tive a curiosidade de testar o mesmo erro do meu outro tópico, e o mesmo acontece aqui, porém com um adicional...

Ao clicar nas páginas retornadas 1,2, [3], 4, 5, etc.... o link fica dessa forma: paginacao.asp?PN=1&intervalo=1
Aí que complica... se eu digitar no fim intervalo=999999999999999999999 ocorre:

Erro de tempo de execução do Microsoft VBScript (0x800A0006)
Estouro: 'CInt'

Se eu digitar no fim intervalo=1a ocorre:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)
Tipos incompatíveis: 'CInt'

Já tentei substituir por CLng pois li que suporta mais caracteres no ASP, mas continua no erro.


Aqui está a benedita paginação: <_<
<%   SQL = "select * from sites order by id desc"   IF Request.QueryString("PN") = "" THEN      PaginaCorrente = 1   ELSE      PaginaCorrente = CInt(Request.QueryString("PN"))   END IF      IF Request.QueryString("intervalo") = "" THEN      Intervalo = 20   ELSE      Intervalo = CInt(Request.QueryString("intervalo"))   END IF      Set Rs = Server.CreateObject("ADODB.Recordset")   Rs.CursorLocation = 3   Rs.Open SQL, conn    Rs.PageSize = CInt(intervalo)      TotalPaginas= RS.PageCount   TotalRegistros = RS.recordcount     IF NOT Rs.Eof THEN      Rs.AbsolutePage = CInt(PaginaCorrente)   END IF   If RS.EOF ThenResponse.Write "Nenhum registro."End If            number = 1   DO UNTIL Rs.AbsolutePage <> CInt(PaginaCorrente) OR Rs.EOF%>... itens paginados ....<%   number = number + 1	     RS.MoveNext   LOOP   RS.Close   Set RS = Nothing%><%   Flag = CInt(TotalPaginas / Intervalo)    Flag1 =  CInt(PaginaCorrente / Intervalo)      PI = Flag1 * Intervalo   IF PI = 0 THEN      PI = 1   END IF   PF = PI + Intervalo - 1      IF CInt(Flag1) >= CInt(1) THEN      Response.Write "<a class=""categoriaestilo2"" href=""paginacao.asp?PN=" &  PI - 1 & "&intervalo=" & intervalo & """><b>Voltar &nbsp;</b></a>"   END IF      FOR I = PI TO PF      IF CInt(I) <= CInt(TotalPaginas) THEN	     IF CInt(PaginaCorrente) = CInt(I) THEN	        response.write "<b><a class=""categoriaestilo4"" href=""paginacao.asp?PN=" & I & "&intervalo=" & intervalo & """>" & I & "</a>&nbsp;"	     ELSE	        response.write "<a class=""categoriaestilo2"" href=""paginacao.asp?PN=" & I & "&intervalo=" & intervalo & """>" & I & "</a>&nbsp;"	     END IF	  END IF   NEXT      IF (CInt(Flag1) < CInt(Flag)) THEN      IF CInt(PF) <> CInt(TotalPaginas) THEN	     Response.Write "<a class=""categoriaestilo2"" href=""paginacao.asp?PN=" &  PF + 1 & "&intervalo=" & intervalo & """><b>Avançar &nbsp;</b></a><br>"	  END IF   END IF     %>





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq