public void test(){
try {
con.setAutoCommit(false);
PreparedStatement pst = con.prepareStatement("insert into t_teacher (name) values ('dddd')");
System.out.println(con.getAutoCommit());
pst.executeUpdate();
Statement st = con.createStatement();
st.executeUpdate("update t_teac7her set age=1101");
con.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
con.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
}con 为一个Connection 的对象,
在执行第二条 sql 语句时抛异常了,为什么第一条sql语句提交了?
为什么事务失去了作用?
try {
con.setAutoCommit(false);
PreparedStatement pst = con.prepareStatement("insert into t_teacher (name) values ('dddd')");
System.out.println(con.getAutoCommit());
pst.executeUpdate();
Statement st = con.createStatement();
st.executeUpdate("update t_teac7her set age=1101");
con.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
try {
con.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
}con 为一个Connection 的对象,
在执行第二条 sql 语句时抛异常了,为什么第一条sql语句提交了?
为什么事务失去了作用?
楼主【andongoop】截止到2008-06-24 14:55:19的历史汇总数据(不包括此帖):
发帖数:8 发帖分:120
结贴数:5 结贴分:80
未结数:3 未结分:40
结贴率:62.50 % 结分率:66.67 %
楼主加油
我是要在java程序里控制事务呀
进行事务回滚了。所以不知道你那边到底是数据库的问题,还是代码有其他提交的问题。
比如ORACLE的表机构调整处理。