当前位置: 代码迷 >> SQL >> sql事宜操作
  详细解决方案

sql事宜操作

热度:59   发布时间:2016-05-05 13:26:35.0
sql事务操作
例1:
try {conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=JDBCTEST "," username","userpwd“);conn.setAutoCommit(false);//禁止自动提交,设置回滚点stmt = conn.createStatement();stmt.executeUpdate(“alter table …”); //数据库更新操作1stmt.executeUpdate(“insert into table …”); //数据库更新操作2conn.commit(); //事务提交con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式 }catch(Exception ex) { 	ex.printStackTrace();	         try {	conn.rollback(); //操作不成功则回滚	}catch(Exception e) {e.printStackTrace();	}}



例2:
UserTransaction transaction = sessionContext.getUserTransaction(); //获得JTA事务try {    //conn.setAutoCommit(false); JTA事物中不需要关闭自动提交模式       transaction.begin(); //开始JTA事务   dbc.executeUpdate("delete from bylaw where ID=" + sID);   dbc.executeUpdate("delete from bylaw _content where ID=" + sID);   dbc.executeUpdate("delete from bylaw _affix where bylawid=" + sID); //conn.commit();? //JTA事务中不要嵌套JDBC事务!否则会抛出异常   transaction.commit(); //提交JTA事务        dbc.close();        return 1;    } catch (SQLException e) {          transaction.rollback();}//JTA事务回滚 


  相关解决方案