Problem with CRUD in Java using Mysql

0

In my DAO class, I have the method to insert into the database, however on my system screen I can only update the fields if I make a change in all fields.

Example: my table has 4 fields and I only change 1, the update does not work by my button, but if I modify the text of the 4 fields the update works.

DAO class method to update field:

public boolean alterar(Cidades cidades)
{
String sql = “UPDATE tb_cidade SET nome_Cidade = ?, tb_estado_id_Estado = ? WHERE id_Cidade = ?”;
try
{
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, cidades.getNome_Cidades());
stmt.setInt(2, cidades.getId_Estados());
stmt.setInt(3, cidades.getId_Cidades());

        stmt.execute();

        return true;
    }
    catch(SQLException ex)
    { 
        JOptionPane.showMessageDialog(null, "Não foi possível alterar do banco: " + ex);
        return false;  
    }
}

Controller class method that calls the change method of the DAO class:

@FXML
private void atualizarDadosSelecionados(ActionEvent event) {

    Cidades cidades = new Cidades();

    cidades.setNome_Cidades(txtNomeCidade.getText());
    cidades.setId_Estados(comboBoxSiglaEstado.getValue().getId_Estado());
    cidades.setId_Cidades(Integer.parseInt(txtCodigoCidade.getText()));


    cidadesDAO.alterar(cidades);

    carregaCidadesNaTableView();

    limparCampos();

}
    
asked by anonymous 20.10.2018 / 23:02

0 answers