Dúvida rollback e commit - JDBC

5 respostas
wilsontads

Pego a conexão da seguinte forma:

Class.forName(driver);
            con = DriverManager.getConnection(url, banco.getUsuario(), banco.getSenha());
            con.setAutoCommit(false);
            return con;
e no meu DAO da seguinte forma:
protected void addLamina(Obj obj) throws Exception {
        try {
                ps.getPreparedStatement(sql);
                ps.SetObject(1, valor);
                //.. seta os outros.
                ps.executeUpdate();
            con.commit();
        } catch (Exception e) {
            con.rollback();
            throw new Exception(e.getMessage());

        }
    }

Só que quando da algum problema e executo o rollback, as alterações feitas não são desfeitas.

5 Respostas

soaresinfo

Faltou chamar o begin tran da conexão.

wilsontads

como ?

wilsontads

Tem algum exemplo de como chamar este begin ?

wilsontads

estou testando com mysql… a principio, estou fzendo algo errado ?

michael_roberto_more

oi, para utilizar o rollback o Connection tem que ser null, e se o Connection não for null como ficaria o rollback :hunf:

Criado 13 de abril de 2012
Ultima resposta 23 de jan. de 2013
Respostas 5
Participantes 3