当前位置: 首页 > 知识库问答 >
问题:

语句的结果集不能为null。执行查询

俞俊逸
2023-03-14

我正在将数据插入MySQL数据库,但在执行insert语句时出错:

语句的结果集不能为null。执行。

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

代码片段

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);");

共有2个答案

田成仁
2023-03-14

无需使用ResultSet。ResultSet仅在从查询(如select query)中获取数据时使用。使用

Statement check = connection.createStatement();
check.executeUpdate("insert into table_name values (values-inserted-here)");

教程使用此链接

施默
2023-03-14

要执行更新、删除或插入数据库中任何数据的查询,您不能使用executeQuery(字符串sql)(请查看此处的文档),而是使用executeUpdate(字符串sql)

因此,与其说:

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

你应该做:

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

在插入、删除或更新中,ResultSet总是为空,这就是为什么它会给您这个错误。如果您使用执行更新,错误应该会消失。

希望有帮助!

 类似资料:
  • 这是我的实体类 org.springframework.dao.DataIntegrityViolationException:不能执行语句;SQL[N/A];约束[created_at];嵌套异常是org.hibernate.exception.constraintViolationException:在org.springframework.orm.jpa.vendor.hibernatejp

  • 首先,我发现了另外两条有类似问题的线索。问题在于,他们没有为字符串使用正确的等号,也没有为他们的特定问题正确设置if语句的格式。 在我的任务中,我需要创建一个名为“猪”的游戏,玩家与计算机对决,在掷骰子时先获得100分。如果玩家在一个回合中掷1,他们不会得到额外的分数。如果玩家掷两个1,那么他们将失去所有分数。我还没有对电脑的回合进行编码,只是专注于玩家。请告诉我我做错了什么。提前非常感谢。 我的

  • 问题内容: 我有一张桌子,里面有人和他们拥有的汽车 该查询为我提供了和拥有完全相同的汽车以及Lisa本人的人,这很好。 结果: 如果我想查找所有拥有相同汽车的人,请重新运行查询,结果应为我。 现在,我有一个Java名称列表,对于每个名称,我都运行此查询。真的很慢。无论如何,是否可以找到所有拥有相同汽车的人,并在单个数据库调用中将结果划分为组? 例如,使用第一个表。我可以运行将名称分组的查询。请注意

  • 在程序中有一部分代码,用于执行查询: 数据集 () 表应该有大约 20000 条记录(行计数),但在程序内部,它在调试模式下说只有 20 条记录。 我在同一个数据库表上单独运行了脚本,该表在 SQL Server 连接字符串中使用,但在 SQL Server Management Studio 中,它按预期返回了 20000 条记录。 该脚本看起来像: 它是相同的脚本文本,代码也会执行该文本。 有

  • 问题内容: 我正在我的VirtualBoxed Ubuntu 11.4上测试此Go代码 Ubuntu可以访问我所有的4个内核。我通过同时运行几个可执行文件和系统监视器来检查这一点。但是,当我尝试运行此代码时,它仅使用一个内核,并且没有从并行处理中获得任何收益。 我做错了什么? 问题答案: 您可能需要查看Go FAQ 的Concurrency部分,特别是以下两个问题,并确定哪个(如果不是两个)适用于

  • 问题内容: 我有下面的代码,我在其中将记录插入到表中。当我尝试获取结果集时,它返回null。如何将最新添加的行放入结果集中? 编辑:已解决 添加了以下方法以转到最后添加的行 问题答案: 当使用一个SQL语句,例如,或用,您必须使用,这将返回affeted的行数。在这种情况下,sql操作不会产生任何结果,因此调用executeQuery将抛出。 如果您确实需要a ,则必须使用SQL操作进行另一条语句