Rolled back no ResultSet Updateable

2 respostas
Abdon

Tutorial do guj disse:

Quando utilizamos os métodos insertRow() e updateRow(), se estivermos com o auto-commit ativado, as alterações feitas no ResultSet são efetivadas no banco, caso contrário, as alterações poderão sofrer um "rolled back" ou um "commit", podendo ou não serem gravadas no banco de dados. Isto já não ocorre com o deleteRow(), onde a linha é efetivamente eliminada do banco de dados.

Eu estou tendo rolled back, sei disto prq enquanto eu estou fazendo o update e estou lendo, estou obtendo a resposta esperada, fechando a conexão e olhando no banco, nada acontece:

Segue o meu codigo:

try {
			stat = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE , ResultSet.CONCUR_UPDATABLE);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		try {
			rs = stat.executeQuery("Select * from abdon");
			

		while(rs.next()) {	
				rs.updateString("nome" , "Caralho");
				rs.updateRow();
				System.out.println(rs.getString("nome"));
		}

Alguem saberia me dizer como adicionar este auto-commit ou mesmo uma forma de fazer um commit na mão? Procurei na javadoc e não encontrei nenhum metodo que me ajuda-se.

2 Respostas

_fs

Certeza que leu a documentação?
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Connection.html#setAutoCommit(boolean)

Abdon

Estava procurando na javadoc do result set :stuck_out_tongue:
De qualquer forma muito obrigado.

Criado 25 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 2
Participantes 2