Botoes de navegacao entre registros

9 respostas
marciofermino

Amigos tenho o seguinte codigo

try {

            Class.forName("com.mysql.jdbc.Driver");
            Connection conn =
                    DriverManager.getConnection("jdbc:mysql://localhost/bd?user=root&password=");

            String sql = "SELECT * FROM cadastro";

Amigos como eu poderia fazer para colocar botões tipo
<-- PRIMEIRO
<–ULTIMO

<- ANTERIOR
-> PRÓXIMO

Obrigado.

9 Respostas

N

Como você vai apresentar os dados: JTable?

andreiribas

isso é paginação.

Você pode fazer de dois jeitos:

Pegar todos os registros, guardar em memória em uma lista e ir iterando conformo o usuário queira.
(Desvantagem: maior gasto de memória).

Ou pegar somente alguns registros, e quando o usuário iterar ir consultando o banco pelos outros registros.
(Desvantagem: maior número de acessos ao banco).

como você está usando o mysql, você pode usar LIMIT para pegar somente alguns registros.

ex: select * from cadastros limit 0, 10

Pega 10 registros(na verdade não tenho certeza da sintaxe, é bom dar uma conferida).

marciofermino

os dos amigos estõ certos…

eu gostaria de exemplo facil… ou o codigo que eu possar colocar nesses botoes

N

Veja se o PagingModel resolve:

davidbuzatto

http://www.guj.com.br/posts/list/81429.java

marciofermino

ta. verifiquei que temos last, first, previous

mais como nao tenho experiencia com o eu poderia colocar 4 jbuttons e

PRIMEIRO
ULTIMO
ANTERIOR
PROXIMO

davidbuzatto

Primeiro, crie um Statement da seguinte forma:

Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );

Com esse Statement, faça sua consulta, que irá retornar um ResultSet.

Como foi usado TYPE_SCROLL_INSENSITIVE, você vai poder andar no ResultSet em qq direção.

Para o primeiro registro, use rs.first();

Para o último registro, use rs.last();

Para o próximo registro, use rs.next();

Para o registro anterior, use rs.previous();

Verificando sempre se o método retornou true (existe registro) ou false (não existe registro).

Até mais!

marciofermino

ta … vou tentar . vc tem ajudado muito. obrigado.

davidbuzatto

Disponha!
Se quiser add no messenger, sem problema.

Até mais!

Criado 10 de fevereiro de 2008
Ultima resposta 10 de fev. de 2008
Respostas 9
Participantes 4