Não consigo fazer o update no banco de dados com o JTable

3 respostas
java
Moraisdelimahigor

É o seguinte: Quando vou faze o update com o JTable, não retorna nenhum erro, porém, nada muda no banco de dados (já tentei atualiza-lo).

Código-fonte:

private void salvarActionPerformed(java.awt.event.ActionEvent evt) {                                       
    for (int i = 0; i < tabela.getRowCount(); i++) {
        try {
            PreparedStatement pst = c.conn.prepareStatement("update ESTADOS"
                    + " set NOME_DO_ESTADO = ?"
                    + " where SIGLA_DO_ESTADO = ?");
            
            pst.setString(1, (String) tabela.getValueAt(i, 1));
            pst.setString(2, (String) tabela.getValueAt(i, 2));
            pst.executeUpdate();
            JOptionPane.showMessageDialog(null, "DEU CERTO!");
        } catch (SQLException ex) {
            Logger.getLogger(Inserção.class.getName()).log(Level.SEVERE,
                    null, ex);
            JOptionPane.showMessageDialog(null, "Num vai dá não!\nERRO:"
                    + " " + ex);
        }
        break;
    }
}

3 Respostas

Chaybelucas

Se o código for EXATAMENTE como esse que tu publicou aí… É porque você não definiu nada na query.
Tá assim:

PreparedStatement pst = c.conn.prepareStatement("update ESTADOS set NOME_DO_ESTADO=? where SIGLA_DO_ESTADO=?");

// Ou seja, qual o nome do estado?
// Qual a sigla do estado?
E

@Chaybelucas tá certo que ele fez isso quer dizer que foi via parâmetro.

E

Amigo tenta mudar para:

preparedStatement.execute();
preparedStatement.close();

Sempre fecha sua conexão no final se não pode ser por isso não consegue visualizar seu registro porque a transação fica travada no meio porque não fechou. Lembre-se fez alguma coisa no banco abre fecha sempre.

Criado 12 de setembro de 2016
Ultima resposta 14 de set. de 2016
Respostas 3
Participantes 3