如何检查结果集是否为空或使用datastax cassandra驱动程序为java

问题描述:

如何使用datastax java cassandra驱动程序检查空的结果集?如何检查结果集是否为空或使用datastax cassandra驱动程序为java

想我执行下面的查询“SELECT * FROM MY_TABLE WHERE的myKey =东西”

有很大的机会,查询将不匹配。下面的代码不起作用:

if (rs != null) 
    rs.one().getString("some_column"); 

你是八九不离十,正确的解决办法是:

Row r = rs.one(); 
if (r != null) 
    r.getString("some_column"); 

的驱动程序将总是返回结果集,无论是否有任何返回的结果。 one()的文档声明如果没有返回行,rs.one()返回null。

您也可以使用getAvailableWithoutFetching(),它返回结果集中的行数而不需要获取更多行。由于pageSize必须> = 1,所以如果至少有1行,则可以放心,这将始终返回大于0的值。

+0

感谢您的支持! – dtrihinas 2015-04-06 13:29:43

+1

为什么这比使用rs.ìsExhausted更好? – 2016-07-13 09:52:20

+0

这工作太:) – 2016-07-13 17:09:12

您还可以检查rs.isExhausted()的值以确定是否结果集中还有其他数据...