日期:2014-05-20  浏览次数:20679 次

JDBC事务处理问题
先看代码吧
Statement stmt=conn.createStatement();
//正确语句
stmt.executeUpdate("insert into Person values(6,'Zhao','Liu','DeipingRD','Shanghai')");
//故意设置的错误语句
stmt.executeUpdate("insert into Personl values(7,'Wang','wu','YushanRD','Beijing')");
conn.commit();

结果中,为什么在数据库中没有执行第一条语句的结果?  那这样使不使用 回滚 似乎结果都一样额,,,,,求解释
------解决方案--------------------
使用Statement有sql注入的危险
------解决方案--------------------
异常了。。。
------解决方案--------------------
引用:
Quote: 引用:

异常了。。。
你好  我想问一下  既然事务在遇到异常会自动回滚,那么为什么还要用rollback呢?  求教


sql出现异常时,才会rollback,如果是你代码出现异常,sql是对的,就不会rollback。所以良好的代码习惯是由自己代码来控制,当捕获异常时rollback,否则commit