GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Comparar valores e colocar em uma JTable

java
sql
programação
postgresql
Tags: #<Tag:0x00007f3114bb8a90> #<Tag:0x00007f3114bb8838> #<Tag:0x00007f3114bb82c0> #<Tag:0x00007f3114bc3df0>

#1

Estou desenvolvendo uma aplicação java para desktop, em que gostaria de comparar a data retornada do banco de dados com a data digitado pelo usuário no campo de texto jFormattedDataEntrada e se for igual ele acrescenta +1 na coluna da table quantidade de visitas.
Caso contrario ele adiciona apenas 1.
Mas quando digito a data igual a uma data ja registrada no banco de dados ele não soma+1, e fica apenas visita 1.

No caso o defeito com nome Placa de som era pra ter 2 nas visitas e não 1.

 DefaultTableModel modelo,modelo2;
public DefaultTableModel comboxTableVisitas(){

    try {
        con = Conecta.conexao();
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(ChamadasDAO.class.getName()).log(Level.SEVERE, null, ex);
    }

    String[] titulos = {"Defeito", "data entrada", "Data saida","Hora de entrada", "Hora de Saida", "Horas Trabalhadas", "Word", "Excel", "Power", "Outlook","Visitas"};

   

    modelo = new DefaultTableModel(null, titulos);
    
    String sql="Select cha_nome,vi_defeito,vi_dataentra,vi_datasaida,vi_horainicio,vi_horafinal,vi_horastrabalhadas, vi_word, vi_excel,vi_power,vi_qtde, vi_outlook  from tb_visitas order by vi_cod  ";

    try {
        pst = con.prepareStatement(sql);
        rs = pst.executeQuery();

        while (rs.next()) {
            String compararData;

            int cont = 0;
           
            String dataentrada = rs.getString("vi_dataentra");
            String datasaida = rs.getString("vi_datasaida");

            String horainicio = rs.getString("vi_horainicio");
            String horafinal = rs.getString("vi_horafinal");
            String resultado = rs.getString("vi_horastrabalhadas");
            String defeito=rs.getString("vi_defeito");
            String word = rs.getString("vi_word");
            String excel = rs.getString("vi_excel");
            String power = rs.getString("vi_power");
            String outlook = rs.getString("vi_outlook");

            compararData = jFormattedDataEntrada.getText();
            if (compararData.equals(dataentrada)) {
                System.out.println("oi");
                modelo.addRow(new Object[]{defeito,dataentrada, datasaida, horainicio, horafinal, resultado, word, excel, power, outlook, "" + (cont + 1)});

           } else {

                modelo.addRow(new Object[]{defeito,dataentrada, datasaida, horainicio, horafinal, resultado, word, excel, power, outlook, "" + (cont + 1)});

           }
        }

        return modelo;
    } catch (Exception e) {
        JOptionPane.showConfirmDialog(null, "Erro ao mostrar Dados das Chamadas" + e);
        return null;
    }

       }

        void mostrarVisitas() {
       try { 
        DefaultTableModel modelo2;

        modelo2 = comboxTableVisitas();

        jTable1.setModel(modelo2);
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Erro ao mostrar visitas:\n Erro:" + e.getMessage());
    }

}

Botão Cadastrar

  private void btnChamadaActionPerformed(java.awt.event.ActionEvent evt) {                                           
    // TODO add your handling code here:
    
  
              
               Chamadas1 cha = montaChamada();
     String resp2 = new ChamadasDAO().cadastrarChamada(cha);
       Visitas visi= montaVisitas();
    String resp3 = new VisitasDAO().cadastrarVisita(visi);
  
   
    JOptionPane.showMessageDialog(this, resp3);
    mostrarVisitas();
    limparCampos();
  
}