Problema com CRUD no Java usando netbeans

0 respostas
cruddaojavamysql
Lincolnbiancardi

Boa tarde galera, estou com um problema em um sistema que estou desenvolvendo. Na minha classe DAO tenho o método para inserir no banco de dados, porém na tela do meu sistema eu só consigo atualizar os campos se eu fizer uma mudança em todos os campos. Exemplo: minha tabela tem 4 campos e eu só modifico 1, o update não funciona pelo meu botão, mas se eu modificar o texto dos 4 campos o update funciona.

Método da classe DAO para atualizar campo:

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;  
    }
}

Método da Classe Controller que chama o método alterar da classe DAO:

@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();

}
Criado 20 de outubro de 2018
Respostas 0
Participantes 1