Problem saving month - Mysql Workbench

Asked

Viewed 71 times

0

Good afternoon, I am doing a project for project management and I have in the registration form, two dates fields, when entering, when I consult the bank, the dates appear with the wrong month, all indicate the month 1.

This is the code of the save button:

try(Connection conn = Conexao.getConnection()){
        
    dados.setTipoProj(jCheckBox5.isSelected());
    dados.setModelagem2d(jCheckBox1.isSelected());
    dados.setModelagem3d(jCheckBox2.isSelected());
    dados.setValor(Float.parseFloat(jTextField4.getText()));
    SimpleDateFormat ent1 = new SimpleDateFormat("dd/mm/yyyy");
    SimpleDateFormat ent = new SimpleDateFormat("dd/mm/yyyy"); // pegando o tipo de data
    String date1 = jFormattedTextField1.getText(); // pegando a data inserida
    java.util.Date d1 = ent.parse(date1); // traduzindo a data de String para o tipo Date      
    dados.setDataEntrega(d1);
    String date2 = jFormattedTextField4.getText();
    java.util.Date d2 = ent1.parse(date2);
    dados.setDataPagamento(d2);
    dados.setDetalhePag(jTextArea2.getText());
    dados.setSoftAUTOCAD(jCheckBox3.isSelected());
    dados.setSoftSOLID(jCheckBox4.isSelected());
    dados.setNomeResp(jTextField1.getText());
    dados.setNomeEmp(jTextField2.getText());
    String contato = jFormattedTextField2.getText();
    dados.setContato(Double.parseDouble(contato));
    dados.setEmail(jTextField5.getText());
    dados.setDetalheProj(jTextArea2.getText());
    dados.setNomeProjeto(jTextField3.getText());
    dados.setTipoProj1(jCheckBox6.isSelected());
    
        String sql = "INSERT INTO projeto (tipoProj, modelagem2d, "
                + " modelagem3d, valor, dataEntrega, dataPagamento, detalhePag, softAUTOCAD,"
                + " softSOLID, nomeResp, nomeEmp, contato, email, detalhesProj, nomeProjeto, tipoProj1) VALUES"
                + " (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        
        PreparedStatement stmt = conn.prepareStatement(sql);              
                   
        stmt.setBoolean(1, dados.getTipoProj());
        stmt.setBoolean(2, dados.getModelagem2d());
        stmt.setBoolean(3, dados.getModelagem3d());
        stmt.setFloat(4, dados.getValor());
        stmt.setDate(5, new Date(dados.getDataEntrega().getTime()));
        stmt.setDate(6, new Date(dados.getDataPagamento().getTime()));
        stmt.setString(7, dados.getDetalhePag());
        stmt.setBoolean(8, dados.getSoftAUTOCAD());
        stmt.setBoolean(9, dados.getSoftSOLID());
        stmt.setString(10, dados.getNomeResp());
        stmt.setString(11, dados.getNomeEmp());
        stmt.setDouble(12, dados.getContato());
        stmt.setString(13, dados.getEmail());
        stmt.setString(14, dados.getDetalheProj());
        stmt.setString(15, dados.getNomeProjeto());
        stmt.setBoolean(16, dados.getTipoProj1());
        stmt.executeUpdate();
        
        conn.close();    
        stmt.close();
    }
    catch(SQLException e){
                System.out.println("ERRO " + e);
                
                }
    catch (ParseException ex) {
        Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
    }

and this is the result of the search in the comic

inserir a descrição da imagem aqui

  • dados.getDataEntrega().getTime() returns what type of data?

  • returns type DATE

  • Why you are instantiating a Date and the given object is receiving a Date in the "setDataPag" method. It doesn’t work if you give a "getDataPag" only?

  • If you remove the Date instance, it appears that.getDataPackage(). getTime(); cannot be converted from long to date

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.