初次接触BD2 想问问 它的回滚是怎么实现的
例如:
我有三条sql 语句 但是 到第三条的时候 出现错误
我怎样回滚事务呢?
我的sql 是一条一提交的
希望大家帮帮忙
------解决方案--------------------------------------------------------
而且你的代码不觉得有问题吗?
for(int i=0 ; i < listSql.size(); i++ ){
PreparedStatement statement = getConnectin(driver, url, userName, pwd) .prepareStatement((String) listSql.get(i));
statement.execute((String) listSql.get(i));
statement.close();
}
每次执行一个sql,都要从新创建一个连接?这个sql如果能多,得不到那么多连接就不能执行了
你应该
try{
Connection conn=getConnectin(driver, url, userName, pwd);
conn.setAutoCommit(false);
for(int i=0 ; i < listSql.size(); i++ ){
PreparedStatement statement = conn .prepareStatement((String) listSql.get(i));
statement.execute((String) listSql.get(i));
statement.close();
}
conn.commit();
catch(Exception e){
conn.rollback();
}
类似这样写才对。