-
jdbc控制sql server 2000事务的问题3
最近在看jdbc方面基础的东西,发现在sql server 2000中。将默认的事务提交通过setAutoCommit(false)方法修改后,然后在第二次调研
connection.prepareStatement(sql)时总提示:[Microsoft][SQLServer 2000 Driver for JDBC]Can't start a cloned connection while in manual transaction mode.
代码如下:public int Query(String ht, String xm) { Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; String htbh = ht; String xmbh = xm; float dj = 0.0f; float bcdj = 0.0f; float bghdj = 0.0f; boolean boo = false; int i = 0; try { conn = SinglJdbcUtil.getIntance().getConnection(); conn.setAutoCommit(false); boo = conn.getAutoCommit(); System.out.println("2: " + boo); String sql = "SELECT htbh, gclx, pzwh, gq, xmbh, xmmc, dj, bcdj, bghdj, pfsl" + " FROM mp_Htjsb WHERE htbh = ? AND xmbh = ? AND GCLX = '单价变更'"; pst = conn.prepareStatement(sql); pst.setString(1, htbh); pst.setString(2, xmbh); rs = pst.executeQuery(); if (rs.next()) { dj = rs.getFloat("dj"); bcdj = rs.getFloat("bcdj"); bghdj = rs.getFloat("bghdj"); } if (dj != bghdj || bghdj != 0) { bcdj = Math.abs(dj - bghdj); sql = "UPDATE mp_Htjsb SET pfje = pfsl * bghdj + 0.15, bcdj = ? " + " WHERE htbh = ? AND xmbh = ? AND GCLX = '单价变更'"; } pst = conn.prepareStatement(sql);//执行到此处发生异常 pst.setFloat(1, bcdj); pst.setString(2, htbh); pst.setString(3, xmbh); i = pst.executeUpdate(); conn.commit(); } catch (SQLException ex) { ex.printStackTrace(); try { conn.rollback(); } catch (SQLException e) { e.printStackTrace(); } return i; } finally { SinglJdbcUtil.getIntance().free(rs, pst, conn); } return i; } 请问达人们怎么解决或是我的思路问题出在哪里了 怎么没人理我啊
2010年11月15日 15:43
目前还没有答案
相关推荐
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDB"; String user = "username"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); ``` ...
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myDB"; Connection conn = DriverManager.getConnection(url, "username", "password"); ``` 4. 执行SQL:通过Connection对象创建...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDB"; String username = "myUser"; String password = "myPassword"; try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");...
这是SQL Server 2000的主要JDBC驱动文件,实现了JDBC API,使得Java应用程序能够建立到SQL Server的网络连接,执行SQL语句,处理结果集,并管理事务。这个驱动程序通常被注册为类型4 JDBC驱动,即纯Java的数据库...
对于SQL Server 2000,驱动类名通常是`com.microsoft.jdbc.sqlserver.SQLServerDriver`。然而,较新的版本可能使用`com.microsoft.sqlserver.jdbc.SQLServerDriver`。例如: ```java Class.forName(...
标题中的“jdbc sql server 2000驱动包”指的是Java数据库连接(JDBC)驱动程序,用于在Java应用程序中与Microsoft SQL Server 2000数据库进行交互。JDBC是Java平台的一部分,它提供了一组接口和类,使得开发人员...
在本场景中,"JDBC连接SQL Server 2000"指的是利用JDBC驱动程序来实现Java代码对SQL Server 2000数据库的访问。这个驱动包包含了三个重要的JAR文件:msbase.jar、mssqlserver.jar和msutil.jar,它们分别是SQL Server...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String user = "myUsername"; String password = "myPassword"; Connection conn = DriverManager.getConnection(url, user, ...
JDBC提供了事务控制功能,允许你在一组操作中执行原子性操作。以下是如何使用`Connection`对象进行事务管理的示例: ```java conn.setAutoCommit(false); // 关闭自动提交 try { // 执行数据库操作... conn....
在 SQL Server 2000 中,事务的管理和控制主要通过以下几种方式实现: 1. **显式事务**:由用户手动开始并结束的事务。 2. **隐式事务**:当用户没有显式地定义事务时,SQL Server 自动为每个语句创建的事务。 3. *...
标题提到的"jdbc连接sqlserver2000的3个jar包"可能包括了以下三个关键组件: 1. **Microsoft JDBC Driver for SQL Server**:这是微软官方提供的JDBC驱动,用于与SQL Server进行通信。对于SQL Server 2000,可能...
总的来说,jdbc连接SqlServer 2000 jar文件是Java开发者进行数据库操作的重要组成部分,它们提供了与SQL Server 2000通信的桥梁,使得开发人员能够在Java环境中执行SQL查询、管理数据库对象以及处理事务等任务。
总结,"JDBC SQLServer 2000驱动包"是Java应用程序连接到SQLServer 2000数据库的关键组件,它提供了必要的类和方法来执行SQL语句、管理事务、优化性能并确保安全连接。使用这些驱动,开发者可以编写出高效、可靠的...
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=myDatabase", "myUsername", "myPassword"); ``` 其中,`localhost:1433`是SQL Server默认监听的IP和端口,`...
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=myDB", "username", "password"); ``` 4. **执行SQL**:一旦建立了连接,你可以使用`Statement`或`...
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=myDB"; String username = "myUsername"; String password = "myPassword"; Connection conn = DriverManager.getConnection(url, username,...
SQL Server 2000 Driver for JDBC Service Pack 3 是微软为Java开发者提供的一款用于连接SQL Server 2000数据库的重要驱动程序。JDBC(Java Database Connectivity)是Java平台中用于与各种数据库进行交互的标准API...
1. **全面支持JDBC 2.0规范**:该驱动程序实现了JDBC API的全部功能,包括连接池、批处理、事务控制等。 2. **高性能**:由于是纯Java实现,性能与数据库系统兼容性好,减少了数据传输的开销。 3. **兼容性**:...
本文将深入探讨标题和描述中提到的“com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作”这一异常,以及如何在使用Hibernate、Struts进行分页时避免这一问题。我们将从异常的根本原因...
String url = "jdbc:sqlserver://localhost:1433;databaseName=myDB"; String username = "myUser"; String password = "myPassword"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); ...