我在使用getFetchSize()函数时遇到麻烦。

我只需要知道SQL查询是否返回零行。

我已经尝试过以下简单的语句:

if (rs.getFetchSize()==0)
    System.out.println("HEADLINE");

其中rsResultSet类型。上面的代码似乎无效。无论rs是否为空,它总是打印消息。

我检查了SQL查询本身,当存在行时它正确返回了非空结果。

关于如何确定查询是否已返回0行的任何想法?
我用谷歌搜索,找不到任何答案。

最佳答案

ResultSet.getFetchSize()不返回结果数!从here:

标准JDBC还使您可以指定获取的行数
与每个数据库往返一次查询,并引用此数字
作为获取大小

您可以遍历结果集,如果没有任何条目,则可以确定没有结果。为什么不能立即获得结果大小?因为数据库正在向您返回指向其结果的指针,并且它依赖您来遍历该结果(返回到服务器的每一行)。

07-24 19:12