Pessoal boa tarde!
Tenho um Jcalendar com nome de dcDataEntrega e gostaria de salvar no banco como Date.
Criei um obejto e quero passar da seguinte maneira:
umConsultaAgendada.setDataEntrega(dcDataEntrega.getDate());
No momento de salvar no banco estou utilizando:
public class ConsultaVendaAgendadaDAO {
//Método responsavel pela inserção de um administrativo
public void inserir(ConsultaVendaAgendada consultaVendaAgendada){
Connection con = null;
PreparedStatement ps = null;
try{
//Estabelece a conexão
con = ConnectionFactory.getConnection();
//A função max() retorna o maior valor da Coluna especifica
// Nesse caso o ultimo código da tabela Produto
Statement stmt = con.createStatement();
String sqlCodigo = "select max(Codigo) from ConsultaVendaAgendada";
ResultSet rs = stmt.executeQuery(sqlCodigo);
rs.next();
//Obtendo o código do novo Produto
int proximoCodigo = rs.getInt(1) + 1;
rs.close();
//A classe PreparedStatement permite a inserção de parametros (?) na construção da String de Sql
String sql = "insert into ConsultaVendaAgendada values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
// A definição dos valores que serão inseridos nos parâmetros da string de SQL
// são indicados pelo metodo set de um objeto prepareStatement
// passando o indice (a ordem/sequencia) e o valor por parâmetro.
// Cria um objeto prepareStatement
ps = con.prepareStatement(sql);
Date data = new Date();
//java.sql.Date dataDB = new java.sql.Date(data.getTime());
//Define os valores dos parametros
ps.setInt(1, proximoCodigo);
ps.setString(2, consultaVendaAgendada.getItemVendido());
ps.setInt(3, consultaVendaAgendada.getQuantidade());
ps.setDouble(4, consultaVendaAgendada.getValorTotal());
ps.setDate(5,new java.sql.Date(data.getTime()));
ps.setDate(6,new java.sql.Date(consultaVendaAgendada.getDataEntrega())); //Não estou conseguindo fazer a conversão neste campo do jDateChoose do tipo Jcalendar
ps.setInt(7, consultaVendaAgendada.getCodigo());
ps.setString(8, consultaVendaAgendada.getNome());
ps.setString(9, consultaVendaAgendada.getRua());
ps.setString(10, consultaVendaAgendada.getNumero());
ps.setString(11, consultaVendaAgendada.getBairro());
ps.setString(12, consultaVendaAgendada.getCidade());
ps.setString(13, consultaVendaAgendada.getEstado());
ps.setString(14, consultaVendaAgendada.getCep());
ps.setString(15, "Pendente");
//Executa a String SQL
ps.executeUpdate();
ps.close();
}catch(SQLException e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Erro ao inserir o produto!", "Erro de inserção", JOptionPane.ERROR_MESSAGE);
} finally{
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}