Olá pessoal. Aqui vai mais uma dúvida de iniciante. Como faço quebras de páginas na exibição dos resultados de uma consulta ?
Por exemplo, faço uma consulta que me retorna 50 registros. Gostaria de mostrar na página 1, 20 registros e colocar no final da página um link para a página 2 que contém mais 20 registros seguindo assim até o final dos registros.
Ae Coxon, que BD c ta usando??? Se for o MySQL ele tem um comando (LIMIT inicio, num_registros) para vc puxar qtos registros vc quer por vez…
Agora se naum for ele ai vai dar um pouquinho mais de trabalho…
C
CoxonPJ
Olá Darkseid. Estou usando o MS SQL Server 7. Será que não há alguma função parecida no SQL Server ?
Agradeço a atenção.
D
darkseidPJ
ih rapaz… nunca trabalhei com MS SQL, mas da uma olhada no help dele q eh provável q tenha…
Do contrario, acho q vc vai ter q dar uma olhadinha nos metodos do ResultSet pra ver se tem alguma q te ajuda na paginacao… vou tentar alguma coisa aqui em casa…
D
darkseidPJ
Ae Coxon, acabei de fazer um scriptzinho para pagincao (ta todo em jsp okay??)
lá vai…
teste.jsp
<body><%//criesuaconexaocomobancodedados//conehoobjetoConnection//variáveisutilizadasintpagina;//numerodapaginaatualfinalintpagesize=5;//numeroderegistroporpaginaintnum_of_rows;//# registros retornados no RSintnum_of_pages;//numerodepaginasinti;//contador//selecionandoosregistrosnatabelaPreparedStatementstm=con.prepareStatement("Select * From usuario");ResultSetrs=stm.executeQuery();//percorrendooresultsetparacontaronumeroderegistrosfor(num_of_rows = 0; rs.next(); num_of_rows++);//numerodepaginas=numerodelinhas/tamanhodapáginanum_of_pages=(int) Math.ceil( (float) num_of_rows / (float) pagesize);//numerodapaginaaserexibidaif(request.getParameter("pagina") == null)pagina=0;elsepagina=Integer.parseInt(request.getParameter("pagina")) - 1;%><br>Página: <%=pagina + 1%><br><%//linksparaasproximaspaginasfor(i=1; i<=num_of_pages; i++) {%>[<a href="teste.jsp?pagina=<%=i%>"><%=i%></a>]<%}%><hr><table><tr><td>Codigo</td><td>Nome</td></tr><%//essemetodomoveocursorparaaposicaodesejada(inicio da pagina)rs.absolute(pagesize * pagina + 1);i=0;//zerandoocontador//owhilevainofimsenaooprimeiroregistroehperdido,//poisafuncaoabsolutenaumaceita0do{ %><tr><td><%=rs.getInt("codigo")%></td><td><%=rs.getString("nome")%></td></tr><%i++;} while (rs.next() && i < pagesize);%></table></body>
Espero q tenha ajudado, qq duvida eh soh perguntar
C
CoxonPJ
Ae Darkseid… Seu código serviu perfeitamente para o que eu queria fazer.