`

java 事物处理

阅读更多
public boolean deleteSchedule(int number, String courseNum) throws SQLException {
   // TODO Auto-generated method stub
   boolean flag =false;
   String sql1 = "delete from SC WHERE CNumber=? and CourseNum=?";
   String sql2 ="delete from Schedule WHERE CNumber=? and CourseNum=?";
   try {
    DataBaseConnection dbc = new DataBaseConnection();
      con = dbc.getConnection();
    //preStm=con.prepareStatement(sql1).addBatch(sql2);
     con.setAutoCommit(false);// 更改JDBC事务的默认提交方式
     preStm=con.prepareStatement(sql1);
     preStm.setInt(1, number);
     preStm.setString(2, courseNum);
     preStm.execute();
     preStm=con.prepareStatement(sql2);
     preStm.setInt(1, number);
     preStm.setString(2, courseNum);
     preStm.execute();
     con.commit();//提交JDBC事务
     con.setAutoCommit(true);// 恢复JDBC事务的默认提交方式
     flag =true;
   } catch (SQLException e) {
     con.rollback();//回滚JDBC事务
         try {
     DAOFactory.getCheckStringImpl().CheckString("ManageScheduleImpl.java", e);
    } catch (Exception e1) {
     // TODO Auto-generated catch block
     e1.printStackTrace();
    }
    System.out.println("ddddddddddd"+e);
    flag=false;
   }finally{
      this.close();
   }
   return flag;
}

@Override
public boolean insertSchedule(ScheduleVo course) {
   // TODO Auto-generated method stub
   return false;
}

出现

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.解决办法

错误情况:

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.

错误原因:

1.         当你在一个SQL SERVER的JDBC连接上执行多个STATEMENTS的操作。

2.         手动事务状态(AutoCommit=false),并且使用 direct (SelectMethod=direct) 模式。

解决方法:

1.         确保在你的连接上只有一个STATEMENT操作。

2.         使用手动事务模式时,必须在连接字符串中加上SelectMethod=Cursor。例如:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=RMS_Pro;SelectMethod=Cursor;User=sa;Password= ");

分享到:
评论

相关推荐

    Java事务处理详细介绍

    ### Java事务处理详细介绍 #### 一、什么是Java事务 在软件开发领域,特别是涉及数据库操作的应用中,**事务处理**是非常关键的一个概念。通常人们认为事务处理与数据库操作紧密相关,其实事务的概念远不止于此。...

    java事务处理总结

    ### Java事务处理总结 在Java开发中,事务处理是一项非常重要的技术,它能够确保数据的一致性和完整性。本文将从多个角度对Java中的事务处理进行深入解析,帮助开发者更好地理解和运用这一技术。 #### 一、事务的...

    java事务处理详解

    Java事务处理详解 Java事务处理是指在Java应用程序中对事务的管理和控制。事务是指一系列的操作,Either all succeed or all fail。Java事务处理的目的是为了确保数据的一致性和完整性。 Spring是Java事务处理的...

    Java事务处理总结

    ### Java事务处理总结 #### 一、什么是Java事务 事务是指一组操作的集合,这些操作要么全部成功,要么全部失败,以确保数据的一致性和完整性。在Java开发中,事务处理主要关注的是如何管理和控制对数据库的操作,...

    Java事务处理总结[归类].pdf

    Java事务处理是编程中确保数据一致性和完整性的关键机制,特别是在涉及数据库操作的场景下。事务处理遵循ACID原则,即原子性、一致性、隔离性和持久性。原子性确保事务作为一个不可分割的操作单元,要么全部执行,...

    java事务处理

    ### Java事务处理详解 在Java开发中,事务处理是一项至关重要的技术,特别是在涉及数据库操作时。本文将全面阐述Java中的事务处理过程与方法,并通过具体的示例代码来帮助读者更好地理解这一概念。 #### 一、Java...

    java事务处理包正版的JOTM

    Java事务处理包(JOTM)是Java开放源代码事务管理器,它实现了Java Transaction API (JTA) 和Java Transaction Service (JTS) 的规范。JOTM 是一个强大的工具,尤其对于那些希望在Tomcat这样的轻量级应用服务器中实现...

    Java基础:Java事务处理类型-差异总结.htm

    Java基础:Java事务处理类型-差异总结.htm

    Java事务的简单代码

    以下是一个简化的Java事务处理代码示例,适用于初学者理解和学习。 首先,我们需要了解Java中的JDBC(Java Database Connectivity)API,它是Java与数据库交互的标准接口。在处理事务时,我们需要使用Connection...

    JAVA设计模式之事务处理

    "JAVA设计模式之事务处理"主要关注如何在业务逻辑中有效地管理和控制事务。 事务处理在企业级应用中至关重要,因为它确保数据的一致性和完整性。Java平台提供了Java Transaction API (JTA) 来处理全局事务,适用...

    基于Java事务处理的发件箱数据分发组件设计源码

    该组件采用Java语言开发,共计67个文件,涵盖44个Java源码文件、3个Git忽略文件、2个Markdown文件、2个JAR文件、2个属性文件、2个示例文件、2个XML文件、2个...该组件专注于事务处理,旨在实现发件箱数据的分发功能。

    事务处理API分布式事务处理

    本文的目的是要提供一个关于的Java事务处理API(JTA)的高级的概述,以及与分布式事务相关的内容。一个事务处理定义了一个工作逻辑单元,要么彻底成功要么不产生任何结果。 一个分布式事务处理只是一个在两个或更多...

    Java中的事务处理

    除此之外,Java事务处理还包括事务的隔离级别设置,如READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ和SERIALIZABLE,每种级别有不同的并发控制策略,开发者可以根据应用需求选择合适的隔离级别。 总结来说,...

    java代码-使用java解决数据库事务处理的源代码

    java代码-使用java解决数据库事务处理的源代码 ——学习参考资料:仅用于个人学习使用!

    JavaTransaction

    Java事务处理是Java开发中的重要概念,主要用于确保数据的一致性和完整性。在处理涉及多步骤的数据操作时,事务尤其关键,因为它们能确保要么所有步骤都成功执行,要么全部回滚,防止数据出现不一致的状态。 Java中...

    事务处理java案例代码

    在Java编程中,事务处理是确保数据库操作一致性的重要机制,特别是在多用户环境下,它能保证数据的完整性和准确性。这个“事务处理java案例代码”应该包含了一些基础的事务管理概念和实现方式,让我们来深入探讨一下...

    java分布式事务demo

    分布式事务处理通常涉及ACID(原子性、一致性、隔离性和持久性)原则,这些原则是传统数据库事务管理的基础。在Java中,实现分布式事务的方法有很多,例如使用JTA(Java Transaction API)或者Spring框架的声明式...

    java Oracle事务处理

    java 代码写的关于Oracle的 事务处理

Global site tag (gtag.js) - Google Analytics