分布式处理事务 try{ .... s.commit();}catch(exception e){ s.rollback();}是这样吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 conn.setAutoCommit(false); smt=conn.createStatement(); try{ ret=smt.executeUpdate(sb.toString()); if( ret <= 0 ){ conn.rollback(); return ret; } }catch(Exception e){ conn.rollback();是这样的,应该是差不多啊。 throw new Exception("更新任务表时出现错误:"+e); } conn.setAutoCommit(false); smt=conn.createStatement(); try{ ret=smt.executeUpdate(sb.toString()); conn.commit();//少了这句,所有数据操作完后再提交(commit),你没commit if( ret <= 0 ){ conn.rollback(); return ret; } }catch(Exception e){ conn.rollback();是这样的,应该是差不多啊。 throw new Exception("更新任务表时出现错误:"+e); } ★ 在jdbc中,事务操作缺省是自动提交。也就是说,一条对数据库的更新表达式代表一项事务操作,操作成功后,系统将自动调用commit()来提交,否则将调用rollback()来回滚。★ 在jdbc中,可以通过调用setAutoCommit(false)来禁止自动提交。之后就可以把多个数据库操作的表达式作为一个事务,在操作完成后调用commit()来进行整体提交,倘若其中一个表达式操作失败,都不会执行到commit(),并且将产生响应的异常;此时就可以在异常捕获时调用rollback()进行回滚。这样做可以保持多次更新操作后,相关数据的一致性,示例如下: try {conn = DriverManager.getConnection ("jdbc:oracle:thin:@host:1521:SID","username","userpwd"; conn.setAutoCommit(false);//禁止自动提交,设置回滚点 stmt = conn.createStatement();stmt.executeUpdate(“alter table …”); //数据库更新操作1stmt.executeUpdate(“insert into table …”); //数据库更新操作2 conn.commit(); //事务提交 }catch(Exception ex) { ex.printStackTrace(); try { conn.rollback(); //操作不成功则回滚 }catch(Exception e) {e.printStackTrace(); }} 迷茫```我的出路在哪里? 知道下面的错误出在哪里了吗 问一个关于编辑列表框的问题 关于jframe内所有组件的监听问题,请各位帮帮忙,给点建议,谢谢。。。 Tomcat 支持jms么? 小弟请问一个问题,tomcat 5的admin的初始密码多少? 一个jdbc的问题 客户端远程访问EJB 外网服务器与内网数据库连接的问题,求助 Spring 注入jdbcOperations 失败 请教各位高手 谢谢!!! TOMCAT配置问题 菜鸟问题:300分相送。关于tomcat和oracle数据库配置的问题
smt=conn.createStatement();
try{
ret=smt.executeUpdate(sb.toString());
if( ret <= 0 ){
conn.rollback();
return ret;
}
}catch(Exception e){
conn.rollback();
是这样的,应该是差不多啊。
throw new Exception("更新任务表时出现错误:"+e);
}
smt=conn.createStatement();
try{
ret=smt.executeUpdate(sb.toString());
conn.commit();//少了这句,所有数据操作完后再提交(commit),你没commit
if( ret <= 0 ){
conn.rollback();
return ret;
}
}catch(Exception e){
conn.rollback();
是这样的,应该是差不多啊。
throw new Exception("更新任务表时出现错误:"+e);
}
★ 在jdbc中,可以通过调用setAutoCommit(false)来禁止自动提交。之后就可以把多个数据库操作的表达式作为一个事务,在操作完成后调用commit()来进行整体提交,倘若其中一个表达式操作失败,都不会执行到commit(),并且将产生响应的异常;此时就可以在异常捕获时调用rollback()进行回滚。这样做可以保持多次更新操作后,相关数据的一致性,示例如下: try {conn = DriverManager.getConnection ("jdbc:oracle:thin:@host:1521:SID","username","userpwd"; conn.setAutoCommit(false);//禁止自动提交,设置回滚点 stmt = conn.createStatement();stmt.executeUpdate(“alter table …”); //数据库更新操作1stmt.executeUpdate(“insert into table …”); //数据库更新操作2 conn.commit(); //事务提交 }catch(Exception ex) { ex.printStackTrace(); try { conn.rollback(); //操作不成功则回滚 }catch(Exception e) {e.printStackTrace(); }}