Consulta proximo registro não funciona(Ajuda aiii)

[i]Galera estou com o seguinte problema, na tela de cadastro quando o usuário clicar próximo o programa busca os registros
ele até busca o primeiro, mas quando clico para buscar os próximos ele não me traz
Eu também estou com o mesmo problema no botão anterior, quando estou no ultimo registro e clico para o anterior ele me retorna null,
e o erro “Before start of result set”

Classe que busca o proximo

[code]public static Hospede proximo(Hospede cliente) throws SQLException{

	try {
		String sql = "SELECT * FROM hospede";
		
		stm = conexao.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY );
		rs = stm.executeQuery();
				
				rs.next();		
				//Hospede cliente = new Hospede();				
				cliente.setNome(rs.getString("Nome"));
				cliente.setCpf(rs.getString("CPF"));
				cliente.setIdade(rs.getInt("Idade"));
				cliente.setTelefone(rs.getString("Telefone"));
				cliente.setEnde(rs.getString("Endereco"));
				cliente.setNumero(rs.getString("Numero"));
				cliente.setCompl(rs.getString("Complemento"));
				cliente.setCidade(rs.getString("Cidade"));
				cliente.setEstado(rs.getString("Estado"));
				cliente.setQuarto(rs.getInt("Quarto"));				
				if(rs.isAfterLast()){
					rs.last();
				}							
									
			}catch(SQLException e){
				e.printStackTrace();
				JOptionPane.showMessageDialog(null,"Erro: "+e,"Erro ao procurar próximo registro",JOptionPane.ERROR_MESSAGE);
			}finally{
				rs.close();
				stm.close();
			}
			JOptionPane.showMessageDialog(null,"Erro: retornando null","Erro ao procurar registro",JOptionPane.ERROR_MESSAGE);
			return cliente;
		
}//Fecha método próximo[/code]

Classe que imprime na tela

[code] if(e.getSource()==bproximo){

		Hospede cliente = new Hospede();
		cliente = BancoDeDados.proximo();
		
		tnome.setText(cliente.getNome());
		tcpf.setText(cliente.getCpf());
		tidade.setText(String.valueOf(cliente.getIdade()));
		ttelefone.setText(cliente.getTelefone());
		tendereço.setText(cliente.getEnde());
		tnumero.setText(String.valueOf(cliente.getNumero()));
		tcomplemento.setText(cliente.getCompl());
		tcidade.setText(cliente.getCidade());
		boxestado.setSelectedItem(cliente.getEstado());
		tquarto.setText(String.valueOf(cliente.getIdade()));
		
	}[/code]

Me ajuda aii, só falta isso pro meu trabalho ficar pronto!!!

OBS: Eu procurei por isso no fórum mas não tinha exatamente sobre isso, por isso abri um tópico Aííííí

FALOU[/i]

Bom, ao chamar este método, você exclui qualquer possibilidade de conitnuar

rs.close();
Aliás, por que não coloca os resultados em uma List e itera sobre ela?

Mas com ou sem ele não chama os outros registros, como faria no caso de List…?

ALGUÈM???

Me ajuda aiiii