VoltDB 软件包有一个名为“voter”的示例设置。我在服务器上运行它并尝试在 Java 中使用它。我可以使用 Statement.executeQuery 和 "SELECT * FROM voter;" 创建一个 ResultSet 它有正确的列(PHONE_NUMBER、STATE 和 CONTESTANT_NUMBER),但没有行。当我尝试从 resultSet 中获取任何内容时,我收到以下错误:
Exception in thread "main"
java.sql.SQLException: s1000
Caused by: java.lang.RuntimeException: VoltTableRow.advanceRow() must be called to advance to the first row before any access.
我看不出我应该如何在代码中使用 VoltTableRow.advanceRow() ,就像那里所说的那样。当我使用提供的 VoltDB 工作室设置(根本不依赖我的 Java 代码)时,我也遇到了同样的问题(正确的列,没有行),其中 select * from votes 给了我三列,没有行,所以我认为这可能不仅仅是Java代码中的错误,而是相关代码包含在下面:
Statement jdbcStmt;
String jdbcSelect = "SELECT * FROM voter;";
ResultSet rs = jdbcStmt.executeQuery(jdbcSelect);
(省略了与创建此 ResultSet 没有直接关系的代码部分。)