Passando pro próximo registro do banco de dados

4 respostas
S

Olá pessoal, tenho uma tela que contém 2 JTextFields, 1 que recebe o código e outro o nome, e também tem um botão que a cada clicada ele altera o valor das JTextFields para o próximo registro, mas não estou conseguindo fazer ele alterar o valor.

public LogradouroBean proximoRegistro(){
		try{
			LogradouroBean bean = new LogradouroBean();
			pstmt = conexao.prepareStatement("select *from logradouro order by codigo",
					ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
			ResultSet rs = pstmt.executeQuery();		
			while(rs.next()){			
				bean.setCodigo(rs.getString("codigo"));
				bean.setNome(rs.getString("nome"));
			}			
			return bean;
		}
		catch(SQLException e){
			JOptionPane.showMessageDialog(null, e.getMessage());
			return null;
		}
	}

4 Respostas

carlos_hen

da forma que está… vc está sempre visulizando apenas o último registro…

Cria um List deste bean e cada next do resultset…
Instancia um bean… carrega os dados no bean e coloca o bean no List.

Falows…

S

Pensei nisso, em criar um List e colocar dentro, mas se eu tenho um número pequeno de informações aí sim fica legal, mas se eu tenho por exemplo 1 milhão de registro, daí a performance ficar comprometida. Quero saber se tem um jeito de pegar o próximo registro sem precisar carregar o List?

A

Isso é muito simples =)

Antes do WHILE, o sr. precisa colocar o resultset no primeiro registro.

Abraços!

A

Só uma duvida!

Esse método proximoRegistro é chamado depois de um evento de botão?

Se for isso mesmo, ele sempre vai executar o sql a cada clicada, colocando o resultset sempre no mesmo lugar!

Encapsula o executeQuery() e o resultset em uma classe Consulta por exemplo, e depois com o resultset populado apenas uma vez, o sr. manipula os dados da forma que quiser.

Abraços!

Criado 27 de dezembro de 2009
Ultima resposta 27 de dez. de 2009
Respostas 4
Participantes 3