Oi,
Estou tentando fazer um cast de String para Date,para salvar no banco, mas não ta dando muito certo :S
Tipo eu faço o seguinte:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date data = sdf.parse( datasDasParcelas[i].toString());
parcela.setVencimento(data);
parcela.setId_matricula(Integer.parseInt(txtRC.getText()));
parcela.setObservacao(observacoes.getText());
parcela.setNumeroParcela(Integer.parseInt(txtQntdeParcelas.getText()));
pagamentodao.salvaCalculoPagamento(parcela);//erro aponta para esta linha
só que este erro está ocorrendo :
1 2011-10-27java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
2 2011-11-26 3 2011-12-26 4 2012-01-25 5 2012-02-24 6 2012-03-25 7 2012-04-24 8 2012-05-24 9 2012-06-23 at ClassesDAO.PagamentoDAO.salvaCalculoPagamento(PagamentoDAO.java:135)
at OpcoesPgto$3.actionPerformed(OpcoesPgto.java:686)
Meu método de salvar lá na classe DAO está assim:
[code]public void salvaCalculoPagamento(Parcela pgto)throws Exception
{
PreparedStatement ps = conexao.prepareStatement("select valor,numeroParcela,vencimento,observacao from parcela where Id_matricula= ? ");
ps.setInt(1, pgto.getId_matricula());
ResultSet resultado = ps.executeQuery();
if(resultado.next())
{
return;
}
else
{
PreparedStatement p = conexao.prepareStatement("insert into parcela (id,numeroParcela,valor,vencimento,id_matricula,observacao) values (?,?,?,?,?,?) ");
p.setInt(1, pgto.getId());
p.setInt(2, pgto.getNumeroParcela());
p.setDouble(3, pgto.getValor());
p.setDate(4, (Date) pgto.getVencimento());
p.setInt(5, pgto.getId_matricula());
p.setString(6, pgto.getObservacao());
p.executeUpdate();
}
}[/code]
Alguém sabe o q estou fazendo errado?
Obrigada =D