================JDBC事务处理简单问题=========再放100分 1&2&3 : 好像ALTER TABLE TEST2 这样的DDL语句,不支持事务管理4:从韩树名字上就可以看出亚。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 要回滚只要抛出例外就行了,catch(Exception ex) { throw ex;}你对例外的处理只是把它显示了一下,相当于没做什么处理。要不你就调试一下,看看rollback()能不能走到。execute与其他的executeQuery,executeUpdate的区别建议你看javadoc 觉得应该这样用catch(SQLException se) {conn.rollback(); conn.setAutoCommit(true);stmt.close();conn.close();} DDL(Data Define Language)语句不能rollback的,因为它执行完后会自动做一个commit。而DML可以roollback.我想这主要是出于维护数据一致性的考虑。 同意yannqi(燕祺)执行SQL出错的话抛出SQLException DDL语句不需要commit,也不能rollback,而且rollback也只是对插入成功但是没有commit的数据而言,这样可以保证数据的完整性。而你这里出错的应该是 stmt.executeUpdate("INSERT INTO TEST2 VALUE(1,'NEW','NEW2')"); //SQL3 这个语句,现在你的表有4个字段,而你只提供了3个值又不说明需要插入哪3个字段,当然会出错。前一个插入语句应该成功了,执行的结果应该是将插入成功的数据删除了(rollback的作用)。其实有很多东西我们只需要知道就行了,一味执着的追求原因可能将会一无所得。 求一个利用java反射的例子 关于applet中输出问题 怎么设计万年历? httpclient如何设置使用代理服务器访问网站? 一个小问题不太明白! 怎么用java实现metro风格 静态方法使用的问题 请教各位大虾,哪里有《java服务器程序设计》这本书? printf怎么用 Java 如何延续对象的生命 当有人访问的时候+1分钟 没人访问的时候销毁对象 ================JDBC事务处理简单问题================= 如何改变Jpanel的颜色?
catch(Exception ex) {
throw ex;
}
你对例外的处理只是把它显示了一下,相当于没做什么处理。
要不你就调试一下,看看rollback()能不能走到。
execute与其他的executeQuery,executeUpdate的区别建议你看javadoc
catch(SQLException se) {
conn.rollback();
conn.setAutoCommit(true);
stmt.close();conn.close();}
而DML可以roollback.我想这主要是出于维护数据一致性的考虑。
执行SQL出错的话抛出SQLException
其实有很多东西我们只需要知道就行了,一味执着的追求原因可能将会一无所得。