Problema com o código para gravar no banco

0 respostas
S

Bom dia pessoal, estou com problema para persistir a data de nascimento no Oracle 10g. Tenho um formulário onde o usuário entra com alguns dados e com a data de nascimento.
A Data de nascimento é do tipo Calendar, mas no Oracle o campo Data de nascimento é do tipo Date.
As Classes estão mais ou menos assim.

Contato.java
public Calendar getData() {
		return data;
	}
	public void setData(Calendar data) {
		this.data = data;
	}
ContatoDAO
public void adicionaContato(Contato contato){
		
		try{
			this.pstmt = this.con.prepareStatement("insert into contatos (id, nome, email, endereco, dataNascimento) values (cont_seq.nextval, ?, ?, ?, ?)");
			
			this.pstmt.setString(1, contato.getNome());
			this.pstmt.setString(2, contato.getEmail());
			this.pstmt.setString(3, contato.getEndereco());
			this.pstmt.setDate(4, new Date(contato.getData().getTimeInMillis()));
			this.pstmt.execute();			
		}
		catch(SQLException e){
			e.printStackTrace();
		}
	}
AdicionaContatoServlet
@Override
	protected void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// Preparando o response
		PrintWriter out = response.getWriter();
		// Pegando os valores vindo do formulário
		String nome = request.getParameter("nome");
		String email = request.getParameter("email");
		String endereco = request.getParameter("endereco");
		String dtNascimento = request.getParameter("dtNascimento");		
		Calendar calendar = null;
		
		// Fazendo a conversão da Data		
		try{
			Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dtNascimento);
			calendar = Calendar.getInstance();
			calendar.setTime(date);
		}
		catch(ParseException e){			
			System.out.println("catch: " + e);
		}
		
		// Montando um objeto contato
		Contato contato = new Contato();
		contato.setNome(nome);
		contato.setEmail(email);
		contato.setEndereco(endereco);
		contato.setData(calendar);

		// Salvando o contato no banco
		ContatoDAO dao = new ContatoDAO();
		dao.adicionaContato(contato);		
	}
Quando tento persistir no banco me retorna um NullPointerException, o que pode ser, não estou conseguindo visualizar o erro.
Criado 26 de janeiro de 2011
Respostas 0
Participantes 1