java - 该语句没有返回结果集。错误

标签 java jdbc resultset truncate

我正在尝试使用 JDBC 从 java 中删除表中的数据。首先,我计算行数并确保表不为空,然后截断数据。

这是我使用的代码

  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    Connection con = DriverManager.getConnection("jdbc:sqlserver://m-i:1433;databaseName=Tes", "sa", "Password");
    Statement cnnt= con.createStatement();
    Statement del1 = con.createStatement();
    ResultSet rs = cnnt.executeQuery("Select count(lea) AS cnt from dbo.Link");
   int count= 0;
    if(rs.next())
    {
        count = rs.getInt("cnt");
    }
  System.out.println(count);
 if(count != 0)
 {
   del1.executeQuery("Truncate Table dbo.Link");
 }
else
   {
       System.out.println("Table is already empty");
   }

错误:

 Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:800)
at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:689)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:616)

错误在截断表 dbo.Link 处。

我这样做的方式正确吗?

有人可以帮我解决这个问题吗

谢谢。

最佳答案

不要使用executeQuery 来执行DDL 语句;使用 executeUpdate .

引用链接的 Javadocs:

Executes the given SQL statement, which may be an INSERT, UPDATE, or DELETE statement or an SQL statement that returns nothing, such as an SQL DDL statement.

(强调我的)

而 truncate table 语句是 DDL 语句。

关于java - 该语句没有返回结果集。错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348712/

相关文章:

java - Android Java Http 请求发布

java - MySQL/Java 错误

java - 为什么我的 JDBC 和 Netbeans 权限被拒绝?

java - 如何安装SQLite JDBC驱动程序?

java - 从结果集中过滤行

php - 为什么总是使用 while 循环来获取 mysql 结果?

java - Axis2 生成的 stub 是线程安全的吗?

java - 是否有像 Java 运行时管理员这样的角色?

Java:初学者帮助获取变量

java - 尝试使用 JDBC 测试 MySQL 数据库中是否存在特定表时出错