任何人都可以帮我这个吗?我正在尝试使用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
答案 0 :(得分:3)
如果未将JDBC驱动程序的自动提交属性设置为DELETE
,则可能会回滚true
。也许试着打电话
connection.commit();
// right before...
connection.close();
或者:
connection.setAutoCommit(true);
// before...
PreparedStatement statement = connection.prepareStatement(sql);
答案 1 :(得分:1)
可能该行被另一个会话锁定,可能是已修改(删除/更新)表中记录的未提交会话。另一种可能性是通过一个工具打开具有锁定状态的行/记录 - 所以删除语句会挂起。