Statement.executeQuery() cannot issue statements that do not produce result sets.
时间: 2024-03-18 16:42:25 浏览: 46
这个错误是由于你使用了Statement.executeQuery()方法执行了一个不会返回结果集的SQL语句,例如INSERT、UPDATE、DELETE等语句。而Statement.executeQuery()方法只能用于执行SELECT语句或者返回结果集的存储过程。
如果你要执行不返回结果集的SQL语句,应该使用Statement.executeUpdate()方法来执行。例如:
```java
String sql = "UPDATE users SET age = 18 WHERE id = 1";
Statement statement = connection.createStatement();
int rowsAffected = statement.executeUpdate(sql);
```
这里的UPDATE语句不会返回结果集,因此使用Statement.executeUpdate()方法来执行,并将受影响的行数保存在rowsAffected变量中。
如果你要执行返回结果集的SQL语句,应该使用Statement.executeQuery()方法来执行。例如:
```java
String sql = "SELECT * FROM users WHERE age > 18";
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
```
这里的SELECT语句会返回一个结果集,因此使用Statement.executeQuery()方法来执行,并将返回的ResultSet对象保存在resultSet变量中。