我的查询旨在返回一行(因为它是通过唯一 id 选择记录)。如果结果集为空,我将抛出一个异常;如果结果集包含多于 1 行,我将抛出另一个异常。恕我直言,在这种情况下,使用 while(rs.next()) 迭代结果集看起来不太漂亮。我可以立即获取结果集中的行数吗?
最佳答案
我认为没有办法在单个方法调用中做到这一点。
您可以使用 ResultSet 的 last()
方法,然后调用 ResultSet 的 getRow()
方法,该方法将为您提供 ResultSet 大小并在以下情况下抛出异常:根据尺寸需要。
请记住使用finally子句来关闭所有连接/ds:)
rs.last();
if(rs.getRow() > 1) {
throw (...);
}
关于java - 如何获取 ResultSet 包含的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808350/