[Dúvida] Conversão de valores em um Statement [RESOLVIDO]

Olá, galerinha do fórum!

Beleza??

Seguinte, estou com uma dúvida meio boba aqui…

Tenho meu pojo, o qual possui o seguinte método:

public Date getData() { return this.data; }

Beleza… Faço uso de um JCalendar em minha aplicação e, para pegar a data escolhida, faço da seguinte maneira:

Transacao transacao;
transacao.setData(meuCalendario.getDate());

No meu DAO, eu vou setar meu Statement com essa data do objeto:

meuStatement.setData(1, transacao.getData());

A princípio, era pra estar correto!
Quando rodo o programa, dá o seguinte erro, justamente na linha acima citada:

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date

Tentei também das seguintes maneiras:

meuStatement.setData(1, (java.sql.Date) transacao.getData());
meuStatement.setData(1, (java.util.Date) transacao.getData());

E nada! :S

Alguém pode me dar uma help?

Agradecido desde já!!!
[]s

java.util.Date != java.sql.Date

Sendo assim, vc precisa 'converter" o seu java.util.Date para um java.sql.Date.
Uma forma seria.

java.util.Date data = new java.util.Date(); java.sql.Date dataSql = new java.sql.Date( data.getTime() );

[]´s

Ja tentou assim ?

        java.util.Date data1 = new java.util.Date();
        java.sql.Date data2 = new java.sql.Date(data1.getTime());

Bom dia.

Você deve passar obrigatoria um java.sql.Date e não um java.util.Date, portanto:

Date dateUtil = new Date(); java.sql.Date date = new java.sql.Date(dateUtil.getTime());

Outro detalhe, o Statement você faz:

Abraços.

Opa, funcionou galera!!!

Obrigado pela ajuda =]

Estou tendo o mesmo problema.

Só que quando eu vou incluir no banco, ele lá colocou não a data que eu digitei no form, mas a data padrão

1970-01-01, mas eu não quero essa data, eu quero a data que eu digitei lá no form, e quero o formato brasileiro.

DD/MM/AAAA

Eu fiz assim, na minha classe de repositório.

   MyStatement.setDate(1, new Date(funcionario.getDataNascimento().getTime()));//essa linha ele executa.

mas o resultado é que eu não gostei nada, nada!!!

Será que alguém poderia me dizer como posso resolver isso?

Marcos,

Penso que você deva gravar do modo que ele pede no banco.

Quando você for usar a data, faça uso de um SimpleDateFormat!

[]s