ResultSet 不返回 DataStax 4.2 中 CQL 查询的结果

Posted

技术标签:

【中文标题】ResultSet 不返回 DataStax 4.2 中 CQL 查询的结果【英文标题】:ResultSet not returning results of CQL query in DataStax 4.2 【发布时间】:2020-02-04 22:03:51 【问题描述】:

我正在使用 Datastax 4.2 和 Cassandra 3.11.4。我部署了 3 个节点并尝试执行查询,但 ResultSet 不返回值。但是,在 datastax 版本 3.7.2 中,它返回该值。我认为他们已经改变了输出格式,但我无法弄清楚。

CqlSession sessionOne = CqlSession.builder().addContactPoint(addrSocOne).withLocalDatacenter("us-east-2").withKeyspace("test").build();
String query = "select id FROM samplequeue";
ResultSet rs = sessionOne.execute(query);
System.out.println(rs);
sessionOne.close();

输出为:com.datastax.oss.driver.internal.core.cql.SinglePageResultSet

它不包含 id 的值,而在以前的版本中它包含。谁能帮我解决这个问题?我需要 id 的值。它从后端工作正常。我已经尝试过用 row 循环结果集,但是 op 是一样的。

【问题讨论】:

【参考方案1】:

你能尝试这样的事情吗(假设它是一个 INT - 否则选择你的数据类型)?:

for (Row row : rs) 
                 System.out.println("Item: " +  row.getInt("item"));
         

【讨论】:

以上是关于ResultSet 不返回 DataStax 4.2 中 CQL 查询的结果的主要内容,如果未能解决你的问题,请参考以下文章

Resultset.next 返回 true 但不返回值

JOOQ store() 不返回 ResultSet

为啥 java.sql.ResultSet 的“getFloat(column)”方法不返回任何内容,而其他方法则返回?

我们如何将 com.datastax.driver.core.LocalDate 转换为 YYYY/MM/DD 格式?

resultset 查询时返回多个相同值

Datastax Java 驱动程序 4.6.1 无法使用 application.conf 覆盖配置