sql事宜操作

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事务回滚