[RESOLVIDO] Banco de Dados nao atualiza

O seguinte codigo é suposto atualizar os dados do banco de dados. O problema é que o codigo executa sem erros, mas não atualiza os dados. Alguem reparou em algum erro?

public static void alterar(Reserva reserva) {
    try {
        Connection connection = dbManager.getConnection();
        String sql = "UPDATE RESERVAS SET NOME = ? , "
                + "ENTRADA = ? , "
                + "SAIDA = ? , "
                + "APARTAMENTO = ? , "
                + "AGENCIA = ? , "
                + "FEITAPOR = ? , "
                + "RECEBIDAPOR = ? , "
                + "ADULTOS = ? , "
                + "CRIANCAS = ? , "
                + "WHERE ID = ?;";
        PreparedStatement stmt = connection.prepareStatement(sql);
        stmt.setString(1, reserva.getNome());
        stmt.setString(2, reserva.getEntrada());
        stmt.setString(3, reserva.getSaida());
        stmt.setString(4, reserva.getApartamento());
        stmt.setString(5, reserva.getAgencia());
        stmt.setString(6, reserva.getFeitaPor());
        stmt.setString(7, reserva.getRecebidaPor());
        stmt.setInt(8, reserva.getAdultos());
        stmt.setInt(9, reserva.getCriancas());
        stmt.setInt(10, reserva.getId());
        stmt.execute();
    } catch (SQLException ex) {
        Logger.getLogger(ReservaDAO.class
                .getName()).log(Level.SEVERE, null, ex);
    }
}

Usei o seu código e só alterei algumas informações pra poder testar, e funcionou sem problemas. Agora, como você está chamando o método?

Eu fiz assim aqui:

public static void alterar(ModeloMorador mod, int id) {
        ConectaBanco conecta = new ConectaBanco();
        conecta.conexao();
        try {
            String sql = "UPDATE morador SET nome = ? WHERE id = ?;";
            PreparedStatement stmt = conecta.conn.prepareStatement(sql);
            stmt.setString(1, mod.getNome());
            stmt.setInt(2, id);
            stmt.execute();
        } catch (SQLException ex) {
            Logger.getLogger(ControleMorador.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

e pra chamar o método:

private void botaoeditarActionPerformed(java.awt.event.ActionEvent evt) {                                            
    mod.setNome(camponome.getText());
    cod.alterar(mod, id);
} 

Onde estão os seus dados vc precisa colocar setar os campos, tipo:

reserva.setNome(camponome.getText);

Aí no final vc executa! Esse meu cod é da classe Controle Morador, mod é a Modelo Morador.

Deu pra entender? Se não, pode falar que eu tento exemplificar melhor!

Fui ver onde estava chamando o metodo, e faltava setar lá o id. Já funciona. Obrigado pela ajuda

1 curtida