我在使用getFetchSize()
函数时遇到麻烦。
我只需要知道SQL查询是否返回零行。
我已经尝试过以下简单的语句:
if (rs.getFetchSize()==0)
System.out.println("HEADLINE");
其中
rs
是ResultSet
类型。上面的代码似乎无效。无论rs
是否为空,它总是打印消息。我检查了SQL查询本身,当存在行时它正确返回了非空结果。
关于如何确定查询是否已返回0行的任何想法?
我用谷歌搜索,找不到任何答案。
最佳答案
ResultSet.getFetchSize()不返回结果数!从here:
标准JDBC还使您可以指定获取的行数
与每个数据库往返一次查询,并引用此数字
作为获取大小
您可以遍历结果集,如果没有任何条目,则可以确定没有结果。为什么不能立即获得结果大小?因为数据库正在向您返回指向其结果的指针,并且它依赖您来遍历该结果(返回到服务器的每一行)。