2

有人可以帮我吗?我正在尝试使用 JAVA 执行 SQL 查询(到 Microsoft SQL)。但是,我的桌子上什么也没有发生。同样,也不例外。但我很确定这段代码直接连接到我的数据库。这是我的代码。

package Testing;
//import java.sql.*;
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

public class TestingClass {
   public static void main(String[] srg) 
   {
       String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // Start JDBC
       String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=OPERATIONS";  //  Connect the server and the database
       String userName="AppControlTeam";
       String userPwd="*****";
       //
       Connection connection = null;
       try{
           Class.forName(driverName);
           connection = DriverManager.getConnection(dbURL,userName,userPwd); 
           String sql = "DELETE FROM GFR_GROWTH_RATE";
           PreparedStatement statement = connection.prepareStatement(sql);
           statement.executeUpdate();
           connection.close();
       }
       catch (Exception e){
           e.printStackTrace();
       }

}
}

我已经在包中添加了 JDBC 驱动程序。另外,我很确定这不是类路径问题,因为通过此代码连接到 DB 已经成功。

在此先感谢可以提供帮助的人!:D

-次郎

4

2 回答 2

3

如果您DELETE没有将 JDBC 驱动程序的自动提交属性设置为 true. 也许尝试打电话

connection.commit();
// right before...
connection.close();

或者:

connection.setAutoCommit(true);
// before...
PreparedStatement statement = connection.prepareStatement(sql);
于 2012-04-07T11:06:32.143 回答
1

可能该行被不同的会话锁定,可能是已修改(删除/更新)表中记录的未提交会话。另一种可能性是通过一个工具打开锁定状态的行/记录 - 所以删除语句挂起。

于 2013-04-23T09:58:18.350 回答