Pegando o 1º registro do banco

4 respostas
S

Olá pessoal, tenho uma tela que contém 2 JTextFiled, 1 para o código e outra para o nome. Quando eu clico no botão primeiro, essas JTextFields vão receber os primeiros valores do banco. Mas meu código sempre retorna o último registro do banco, pq?

public LogradouroBean primeiroRegistro(){
		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();
			rs.first();
			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

Roger75
Acho que não precisa do while:
ResultSet rs = pstmt.executeQuery();  
             rs.first();  
            
             bean.setCodigo(rs.getString("codigo"));  
             bean.setNome(rs.getString("nome"));  
            
             return bean;
S

Se não colocar o while os valores retornam null

L

troca o while por um if

romarcio

Acho que quando você coloca o While, ele vai ler todos os dados do select.

E vai mostrar o último.

Você deve colocar algum tipo de parada nesse while, ou tenta utilizar um : order by codigo desc

Criado 26 de dezembro de 2009
Ultima resposta 26 de dez. de 2009
Respostas 4
Participantes 4