欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle 事务处理有关问题

更新时间: 2014-01-05 02:15:22 责任编辑: Author_N1

 

oracle 事务处理问题
有以下语句,请问对于事务处理这块儿,如果i>0不成立,即con.commit();没执行。对程序有什么影响?
异常方面的影响。。。数据库菜鸟。。。求解释。。。
 try{
       con = dataSource.getConnection();
       con.setAutoCommit(false);
       String sql ="";
       pst = con.prepareStatement(sql);
       int i = pst.executeUpdate();
       if(i>0){
          bool = true;
          con.commit();
       }
     }catch (Exception e){
       con.rollback();
       throw e;
    }finally{
       con.setAutoCommit(true);
       DBUtil.freeConnection(rs, pst, con);
    }
--参考方法--
对数据没影响,因为没有更新到数据。当然也没有抛出异常,所以异常块也不会被捕获到。


executeUpdate

int executeUpdate()
                  throws SQLException
在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、 UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。
返回:
(1) SQL 数据操作语言 (DML) 语句的行数 (2) 对于无返回内容的 SQL 语句,返回 0
抛出:
SQLException - 如果发生数据库访问错误,在关闭的 PreparedStatement 上调用此方法,或者 SQL 语句返回一个 ResultSet 对象
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:15:22
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7583/
本文WWW.DOC100.NET DOC100.NET版权所有。