Exception in thread "main" java.sql.SQLException: Statement.executeQuery() cannot issue statements that do not produce result sets.
时间: 2024-05-16 10:18:36 浏览: 175
java.sql.SQLException: null, message from server: “Host ‘%’ is not allowed to connect to
这个错误信息通常发生在尝试使用 `executeQuery()` 方法执行一个不会返回结果集的 SQL 语句时。比如,使用 `executeQuery()` 方法执行一个 `INSERT/UPDATE/DELETE` 语句就会出现这个错误。
解决这个问题的方法是使用 `execute()` 方法代替 `executeQuery()` 方法来执行不会返回结果集的 SQL 语句。例如:
```java
Statement stmt = conn.createStatement();
int rows = stmt.execute("INSERT INTO my_table (col1, col2) VALUES ('value1', 'value2')");
```
在上面的例子中,我们使用 `execute()` 方法来执行一个插入语句,并将返回值赋给一个整型变量 `rows`,表示插入的行数。
如果需要执行一个查询语句并返回结果集,应该使用 `executeQuery()` 方法,例如:
```java
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM my_table");
while (rs.next()) {
// 处理查询结果
}
```
阅读全文