Ir ao conteúdo
  • Cadastre-se
Victor Gimenez

Java.util.date cannot be cast to java.sql.date no netbeans

Recommended Posts

Boa Noite a todos!
Estou com um problema na hora de fazer a conversão de formatos java.util.Date para java.sql.Date, só que não sei onde que tenho que converter de onde a onde para ficar compatível. Estou tentando fazer esse processo:


Dai na Classe DAO ficou assim:

public void inserir(Chamado o) throws DAOException {
try{
pstm = con.prepareStatement(INSERT);
pstm.setString(1, o.getPrioridade());
pstm.setDate(2, new java.sql.Date(o.getDataInicial().getTime()));
//pstm.setDate(3, new Date(o.getDataFinal().getTime()));
pstm.setTime(3, new Time(o.getHorarioInicial().getTime()));
pstm.setTime(4, new Time(o.getHorarioFinal().getTime())); 
(.....)

 

Na classe JDialog:

private void btSubmeterActionPerformed(java.awt.event.ActionEvent evt) { 
try { 
Chamado chamado = new Chamado();
MySQLDaoManager man = new MySQLDaoManager("root", "", "localhost", "atendimentos", 3306);
try {
/* Essa é a linha que está causando o erro \/ */
chamado.setDataInicial((Date) tfDataInicial.getValue());
/* E essas chamadas de Time não sei se estão corretas, ainda não testei */
chamado.setHorarioInicial((Time) tfHoraInicial.getValue());
chamado.setHorarioFinal((Time) tfHoraFinal.getValue());
(.....)

 

E por fim na classe de modelo de negócio V.O.:

public class Chamado {
private Long idChamado;
private String prioridade;
private Date dataInicial, dataFinal;
private Time horarioInicial, horarioFinal;

public Chamado(String prioridade, Date dataInicial, Time horarioInicial, Time horarioFinal) {
this.prioridade = prioridade;
this.dataInicial = dataInicial;
this.dataFinal = dataFinal;
this.horarioInicial = horarioInicial;
this.horarioFinal = horarioFinal;
}

public Chamado(){
this.prioridade = getPrioridade();
this.dataInicial = getDataInicial();
this.horarioInicial = getHorarioInicial();
this.horarioFinal = getHorarioFinal();
/* tentei isso também e nada feito */
//this.dataInicial = new Date();
//this.horarioInicial = new Time();
//this.horarioFinal = new Time();
}

 

Já depurei, já tentei converter na JDialog colocando new java.sql.Date, coloquei JFormattedTextField para receber esses dados de data e hora e nada feito... como faço para resolver isso?! Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu já passei por isso.

Eu fiz como nesse link:

http://www.mkyong.com/jdbc/how-to-insert-date-value-in-preparedstatement/

 

Um método que faz a conversão.

private static java.sql.Date getCurrentDate() {
    java.util.Date today = new java.util.Date();
    return new java.sql.Date(today.getTime());
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz agora na classe JDialog e ficou assim:

chamado.setDataInicial(getCurrentDate());
chamado.setHorarioInicial((Time) tfHoraInicial.getValue());
chamado.setHorarioFinal((Time) tfHoraFinal.getValue());

Deu certo na hora da depuração, o problema só é que ele não pegou a data inserida na TextField e acabou pegando a data e hora de hoje que estão registrados no computador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×