Pessoal, minha duvida é a seguinte:
Estou trabalhando com o banco de dados postgresql e java.
Tem uma tabela com campo date.
No Form um jXDatePicker para facilitar para o usuario.
Afinal, uso Java.util.Date ou java.sql.date como tipo no DAO?
Ja tentei os dois mas nao deu certo.
Nao quero nenhuma soluçao pronta, mas procuro saber o que devo fazer (qual o jeito certo de resolver isso)
Meu codigo esta abaixo:
[code]public void adiciona(Atendimento at) throws SQLException{
String sql = "insert into atendimento (atd_data, atd_pago, atd_obs, tipo_atendimento, paciente_pac_codigo, atd_valor) "+
“values(?, ?, ?, ?, ?, ?)”;
PreparedStatement stmt = conexao.prepareStatement(sql);
stmt.setDate(1, at.getAtd_data()); // Essa linha sempre fica sublinhado o setDate
stmt.setInt(2, at.getAtd_pago());
stmt.setString(3, at.getAtd_obs());
stmt.setInt(4, at.getTipo_atendimento());
stmt.setInt(5, at.getPaciente_pac_codigo());
stmt.setDouble(6, at.getAtd_valor());
//System.out.println(stmt);
stmt.execute();
stmt.close();
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
int combo;
// TODO add your handling code here:
String dataBanco = jXDatePicker1.getDate().toString();
Atendimento atendimento = new Atendimento();
atendimento.setAtd_data(formDataStrgToJava(dataBanco));
atendimento.setAtd_obs(jTextObs.getText());
atendimento.setAtd_valor(Double.parseDouble(jValor.getText()));
atendimento.setPaciente_pac_codigo(codigo_paciente);
AtendimentoDao ADao = new AtendimentoDao();
ADao.adiciona(atendimento);
} catch (SQLException ex) {
Logger.getLogger(FormAtendimento.class.getName()).log(Level.SEVERE, null, ex);
}
}
public java.sql.Date formDataStrgToJava(String data){
/* Função de conversão de uma data do tipo STRING dd-MM-yyyy para formato
* date do java.util
*/
DateFormat formatter = new SimpleDateFormat(“dd-MM-yyyy”);//Formato da data que virá do banco
Date date = null;
try {
date = (Date) formatter.parse(data);//convertendo o formato para Date
} catch (ParseException ex) {
System.out.println(ex);
}
return (java.sql.Date) date;
} [/code]