vc está usando JDBC ou Hibernate para persistência? qual o tipo da coluna no BD?
Vc pode passar o objeto date diretamente para o BD, o mecanismo de persistência se encarrega da conversão.
Gustavo.L
Estou usando JDBC
Mas este exemplo eu criei só um aplicativo Java para testar. Meu projeto principal é para WEB. Eu achei que se eu conseguisse converter da maneira certa daria certo tbm na hora de cadastrar no BD.
Stringnome=request.getParameter("nome");Stringemail=request.getParameter("email");Stringendereco=request.getParameter("endereco");StringdataInicial=request.getParameter("dataNascimento");DatedataNascimento=newDate();try{dataNascimento=newSimpleDateFormat("dd/MM/yyyy").parse(dataInicial);}catch(ParseExceptione){out.println("Erro na conversão de Data!!");}Contatocontato=newContato(nome,email,endereco,dataNascimento);ContatoDAOdao=newContatoDAO();dao.adicionar(contato);
classe ContatoDAO
publicvoidadicionar(Contatocontato){Stringsql="insert into contato(nome, email, endereco, dataNascimento) values (?,?,?,?)";try{PreparedStatementstmt=con.prepareStatement(sql);stmt.setString(1,contato.getNome());stmt.setString(2,contato.getEmail());stmt.setString(3,contato.getEndereco());stmt.setDate(4,(java.sql.Date)contato.getDataNascimento());stmt.execute();stmt.close();}catch(SQLExceptione){System.out.println("Não foi possível adicionar o contato ao Banco de Dados \nErro: "+e);}}
Desse jeito não está cadastrando no Banco de Dados =/
B
bezier_curve
Um java.sql.Date é um java.util.Date, mas um java.util.Date não é um java.sql.Date. Portanto, um cast, tal como você fez, não vai funcionar.
O correto, no seu caso, é converter um java.util.Date em um java.sql.Date ou em um java.sql.Timestamp (dependendo do tipo da sua coluna do banco de dados), mais ou menos assim: