首页 > 解决方案 > 尝试按日期删除时,查询不会产生结果集。

问题描述

我正在尝试在 java 中创建一个方法,该方法将在某个日期之前删除数据库中的所有记录。现在我得到这个 SQLException: Query or procedure does not return a result set。

这是我的单元测试用来填充数据库的插入语句之一。

INSERT INTO C35_6 ( xIndex, xcSource, dTimeOn, dTimeOff, bSuccessful ) 
VALUES (74013, 1, '05/01/1972 00:00:00.000', '05/02/1972 00:00:00.000', 1 )

这是删除语句

DELETE FROM C35_6 WHERE dTimeOff <= '12/31/1975 00:00:00.000'

我可以在日志文件中看到这些语句以正确的顺序运行,一个接一个。这些语句是使用 setDate() 使用 javapreparedStatement 创建的。

似乎 sql 由于某种原因无法比较这些日期。

标签: javasqlprepared-statement

解决方案


我认为您设置日期的事实无关紧要。异常消息说“查询不返回结果集”。这是真实的。您的两个查询都不返回结果。

这意味着您以错误的方式执行它们。我的猜测是您运行它们preparedStatement.executeQuery()(用于SELECT查询并期望返回 a ResultSet)而不是preparedStatement.execute()可以用于任何类型的查询。


推荐阅读