Erro ao tentar recuperar data do banco de dados

Pessoal comecei essa semana a ler uma apostila da Caelum - Java Web - E fazendo os exemplos e lendo… ai quando chegou na parte de gravar no banco de dados, deu beleza… mais quando fui recuperar não da certo… :evil: obs: apenas a data!

Abaixo segue o código:

public List getLista() {

	try {
		List<Contato> contatos = new ArrayList<Contato>();
		PreparedStatement stmt = this.connection.prepareStatement("select * from contatos");
		ResultSet rs = stmt.executeQuery();

		while (rs.next()) {
			// criando um objeto Contato
			Contato contato = new Contato();
			contato.setNome(rs.getString("nome"));
			contato.setEmail(rs.getString("email"));
			contato.setEndereco(rs.getString("endereco"));

			[b]// montando a data atraves do Calendar
			Calendar data = Calendar.getInstance();
			data.setTime(rs.getDate("dataNascimento"));
			contato.setDataNascimento(data);[/b]

			// adicionando o objeto à lista
			contatos.add(contato);
		}
		rs.close();
		stmt.close();
		return contatos;
	} catch (SQLException e) {
		throw new RuntimeException(e);
	}

}

Não sei é para utilizar o pacote JDBC ou o SQL?

O erro que aparece é assim:

Exception in thread “main” java.lang.NullPointerException
at java.util.Calendar.setTime(Calendar.java:1092)
at br.com.caelum.jdbc.dao.ContatoDAO.getLista(ContatoDAO.java:62)
at br.com.caelum.jdbc.teste.TestaLista.main(TestaLista.java:14)

Esperando respostas pessoal, um abraço a todos! :smiley:

Como se trata de um NullPointer, pode ser que o rs está devolvendo null , tente fazer um teste:

//faça isso antes para ver se há alguma coluna com esse nome e se essa coluna tem dados System.out.println(rs.getDate("dataNascimento"));

Sim cara fiz o teste aki e ele esta retornando null, mais e agora? Como faço para resolver este problema?

Deve ser q no seu banco esta sem data cadastrada…e ele pega como null

:shock: Acho que deveria ler a apostila Java e orientação a objetos da Caelum também.

Obrigado ai pessoal deu certo aki!!! :smiley:

Um abraço a todos!

Coloque RESOLVIDO no seu topico, e é bom voce postar a resolução do problema para todos.

vlw

Fabio

vc nao tinha contatos registrados… ou provavelmente o contato ta sem data… isso?

Sim cara foi um erro meu!!!

Quando estava começando a desenvolver o código fiz alguns testes de inserção mais ainda não tinha o campo data no banco de dados…

Ai quando fiz um Alter Table, adicionei um campo dataNascimento, ai todos o registros anteriores foram preenchidos com Null

Deu no que deu! Mais agora não vou vacilar mas dessa forma… Serve de lição para todos :smiley:

Pessoal não postarei o código, pois o erro era no banco de dados né! Um abraço a todos, e parabéns pelo fórum!!!