Boa noite
Tenho esse metodo em uma classe DAO
[code]public Contato pesquisar(Contato cont){
try {
Contato contato = new Contato();
PreparedStatement stmt = this.connection.prepareStatement(“select * from contatos where id=?”);
stmt.setLong(1, cont.getId());
ResultSet rs = stmt.executeQuery();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
Calendar data = Calendar.getInstance();
data.setTime(rs.getDate("dataNascimento"));
contato.setDataNascimento(data);
rs.close();
stmt.close();
return contato;
} catch (SQLException e) {
throw new RuntimeException(e);
//e.printStackTrace();
//return new Contato();
}
}[/code]
e estou usando esta classe para realizar o teste
[code]public class TestePesquisa {
public static void main(String[] args) throws ClassNotFoundException {
ContatoDAO dao = new ContatoDAO();
Contato cont = new Contato();
cont.setId(1L);
Contato contato = dao.pesquisar(cont);
System.out.println("Nome: "+contato.getNome());
System.out.println("Email: "+contato.getEmail());
System.out.println("Endereço: "+contato.getEndereco());
System.out.println("Data de Nascimento: "+contato.getDataNascimento().getTime());
}
}
[/code]
mais esta sendo gerado o seguinte erro
[quote]Exception in thread “main” java.lang.RuntimeException: java.sql.SQLException: Before start of result set
at br.com.caelum.jdbc.dao.ContatoDAO.pesquisar(ContatoDAO.java:87)
at br.com.caelum.jdbc.teste.TestePesquisa.main(TestePesquisa.java:11)
Caused by: java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:842)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5657)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5577)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5617)
at br.com.caelum.jdbc.dao.ContatoDAO.pesquisar(ContatoDAO.java:75)
… 1 more[/quote]
Alguem sabe porque esta gerando esse erro?
eu testei o comando no SQL e esta correto
o que esta errado
Obrigado