使用JAVA查询SQL - 没有任何反应

时间:2012-04-07 10:59:01

标签: java sql eclipse sql-server-2008

任何人都可以帮我这个吗?我正在尝试使用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

-Jiro

2 个答案:

答案 0 :(得分:3)

如果未将JDBC驱动程序的自动提交属性设置为DELETE,则可能会回滚true。也许试着打电话

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

或者:

connection.setAutoCommit(true);
// before...
PreparedStatement statement = connection.prepareStatement(sql);

答案 1 :(得分:1)

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