Jump to content


NewbieASP

Member Since 27/07/2009
Offline Last Active 14/08/2009, 01:26
-----

Topics I've Started

Paginação Com Cint Ou Clng?

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     %>

Erro Na Request.querystring

27/07/2009, 13:13

Boa Tarde a todos.

Estou com um pequeno problema... tenho uma página que busca os dados cadastrados de determinado indivíduo através de uma request.querystring!
Até aí tudo bem, ele mostra tudo na boa, isso, SE existir tal registro no banco de dados access. Quando o valor da querystring passado no navegador não existe no banco de dados, ele mostra o seguinte erro:

ADODB.Field (0x800A0BCD)
BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.
/sites/site.asp, line 18


segue o código referente ao erro:


a linha marcada em negrito corresponde à linha 18, e o valor resgatado pela querystring é o campo ID (chave primária).

Desde já fico grato à todos que puderem contribuir com algum suporte.

IPB Skin By Virteq