JDBC - rollback() hat keine wirkung?
slash
- datenbank
Hallo,
wenn ich die Connection mit "setAutoCommit(false)" auf false setze dürften doch nur sql statements an die Datenbank geschickt werden, wenn ich con.commit() aufrufe oder?
Leider funktioniert das nicht. Die Statements werden bei mir trozdem an die Datenbank geschickt obwohl ich kein con.commit() in meinem Programm habe sondern ein con.rollback() was ja eigentlich dann nichts senden sollte.
Kann mir jemand weiterhelfen? Hier noch das Beispielprogramm:
import java.sql.*;
public class SavepointTest {
public static void main(String[] args){
try{
String url = "jdbc:mysql://localhost/oodm";
Connection con = DriverManager.getConnection(url,"root", "");
Statement statement = con.createStatement();
con.setAutoCommit(false);
statement.executeUpdate("UPDATE DepotKto SET ktoStand = 600 WHERE ktoNr = 30636");
statement.executeUpdate("UPDATE DepotKto SET ktoStand = 600 WHERE ktoNr = 224222");
con.rollback();
statement.close();
con.close();
}catch(Exception e){
e.getStackTrace();
}
}
}