java - Statement.executeQuery 的 ResultSet 不能为 null

标签 java mysql exception resultset

我正在向 MySQL 数据库插入数据,但在执行插入语句时出现错误:

The ResultSet can not be null for Statement.executeQuery.

虽然如果我检查数据库表,我发现值已成功插入。这很令人困惑。

代码片段

Connection connection = null;
connection = DriverManager.getConnection("jdbc:google:rdbms://name-of-instance");
Statement check = connection.createStatement();
java.sql.ResultSet resultset = null;
resultset = check.executeQuery("insert into table_name values (values-inserted-here);");

最佳答案

要执行更新、删除或插入数据库中任何数据的查询,您不能使用 executeQuery(String sql) (check here the docs) ,但是executeUpdate(String sql)相反。

所以代替:

check.executeQuery("insert into table_name values (values-inserted-here);");

你应该这样做:

check.executeUpdate("insert into table_name values (values-inserted-here);");

在插入、删除或更新中,ResultSet 始终为 null,这就是它给出该错误的原因。如果您使用executeUpdate,错误应该消失。

希望对你有帮助!

关于java - Statement.executeQuery 的 ResultSet 不能为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30953426/

相关文章:

Javascript调用java函数并在Android webview上进行消费操作

java - 为什么 GlobalAuthenticationConfigurerAdapter.init() 不可见?

mysql - 从表中获取总和小于 value 的行

c++ - 通过 cygwin 生成核心转储

python - 如果程序在 Python 3 中失败则跳转到脚本末尾

java - 我正在尝试制作一个程序,将对象保存到文件中,然后从文件中读取对象。我究竟做错了什么?

java - Vaadin 网格单元不显示多行行

mysql - 使用 mysql 作为 nosql 使用 memcached - 表未更新

php - 如何将数组的所有键插入数据库

java - 如何将EventBus设置到fragment中