[Resolvido] Gravar data de um JFormattedTextField

8 respostas
Soulless-BR

Fala pessoal tudo bom?

Pessoal, tenho um JFormattedTextField formatado, ##/##/####, para data média e não estou conseguindo gravar ele no banco de dados MySQL, sendo que o campo da tabela é um tipo date.

Alguém poderia me ajudar nessa conversão para que eu consiga gravar no banco a data?

Obrigado.
Abraços.

8 Respostas

Anime

Oi Soulless-BR,

Não entendi,mas…http://www.guj.com.br/article.show.logic?id=8

Calendar data = Calendar.getInstance();   
            SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy");
            String h=format.format(data.getTime());

:roll:

D

o problema é que o Jformatter te retorna uma STRING…
ai vc esta tentando inserir uma STRING em um campo DATE, ai o MySQL chia msm…

muda o campo DATE para VarChar(10)

vlw

Eric_Yuzo

Se o problema está em converter a String em Date, o método parse do SimpleDateFormat faz isso.

String dataEmString = "18/11/2010"; DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); Date data = df.parse(dataEmString);

Soulless-BR
Olá amigo tentei fazer desse jeito de uma olhada no erro, não imagino o que pode ser. Alguém me da uma luz por favor!!!!
public InsertCondutor(String nome, String end, String cep, String cpf, String rg, String data,
            String cidade, String estado, String numerocnh) throws SQLException, ParseException{
        SimpleDateFormat dateformate = new SimpleDateFormat("dd/MM//yyyy");
        Date datafinal = (Date) dateformate.parse(data);

        try{
            this.sqlQuery = "insert into tb_condutores(nome_completo, endereco, "
                    + "cep, cpf, rg, data_nascimento, cidade, estado, numero_cnh)"
                    + " values(?,?,?,?,?,?,?,?,?)";
            this.prepstm = (PreparedStatement) this.conn.prepareStatement(this.sqlQuery);

            this.prepstm.setString(1, nome);
            this.prepstm.setString(2, end);
            this.prepstm.setString(3, cep);
            this.prepstm.setString(4, cpf);
            this.prepstm.setString(5, rg);
            this.prepstm.setDate(6, datafinal);
            this.prepstm.setString(7, cidade);
            this.prepstm.setString(8, estado);
            this.prepstm.setString(9, numerocnh);

            this.prepstm.execute();
            this.prepstm.close();
        }
erro:
18/11/2010 10:33:50 janelas.FormCadCondutores btGravarActionPerformed
GRAVE: null
java.text.ParseException: Unparseable date: "10/10/2010"
        at java.text.DateFormat.parse(DateFormat.java:337)
        at database.InsertCondutor.<init>(InsertCondutor.java:17)
        at janelas.FormCadCondutores.btGravarActionPerformed(FormCadCondutores.java:248)
        at janelas.FormCadCondutores.access$000(FormCadCondutores.java:15)
        at janelas.FormCadCondutores$1.actionPerformed(FormCadCondutores.java:89)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
        at java.awt.Dialog$1.run(Dialog.java:1046)
        at java.awt.Dialog$3.run(Dialog.java:1098)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Dialog.show(Dialog.java:1096)
        at java.awt.Component.show(Component.java:1563)
        at java.awt.Component.setVisible(Component.java:1515)
        at java.awt.Window.setVisible(Window.java:842)
        at java.awt.Dialog.setVisible(Dialog.java:986)
        at janelas.FormPrincipal.CadCondutorActionPerformed(FormPrincipal.java:164)
        at janelas.FormPrincipal.access$400(FormPrincipal.java:9)
        at janelas.FormPrincipal$5.actionPerformed(FormPrincipal.java:113)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
        at java.awt.Component.processMouseEvent(Component.java:6267)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6032)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
CONSTRUÍDO COM SUCESSO (tempo total: 1 minuto 26 segundos)
E

Mais atenção…

... new SimpleDateFormat("dd/MM//yyyy");   ...

Não tem alguma coisa sobrando aqui?

Soulless-BR

arrumei amigo e agora o erro foi esse:

Exception occurred during event dispatching: java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date at database.InsertCondutor.<init>(InsertCondutor.java:17) at janelas.FormCadCondutores.btGravarActionPerformed(FormCadCondutores.java:248) at janelas.FormCadCondutores.access$000(FormCadCondutores.java:15) at janelas.FormCadCondutores$1.actionPerformed(FormCadCondutores.java:89) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1563) at java.awt.Component.setVisible(Component.java:1515) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at janelas.FormPrincipal.CadCondutorActionPerformed(FormPrincipal.java:164) at janelas.FormPrincipal.access$400(FormPrincipal.java:9) at janelas.FormPrincipal$5.actionPerformed(FormPrincipal.java:113) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.AbstractButton.doClick(AbstractButton.java:357) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264) at java.awt.Component.processMouseEvent(Component.java:6267) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6032) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4630) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4460) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

obrigado.

Eric_Yuzo

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.DateO erro está dizendo que não se pode fazer um cast de java.util.Date para java.sql.Date.

Ao invés do cast, tente converter desta forma:

Date datafinal = new Date(dateformate.parse(data).getTime());
Soulless-BR

Agora funcionou amigo, muito obrigado por tudo…

Grande abraço!!!

Criado 17 de novembro de 2010
Ultima resposta 18 de nov. de 2010
Respostas 8
Participantes 5