我的查询意味着只返回一行(因为它是通过唯一ID选择记录)。如果结果集是空的,我将抛出一个异常,如果它包含多于一行,则抛出异常。恕我直言,在这种情况下,while(rs.next())的结果集看起来并不漂亮。我可以立即获取结果集中的行数吗?如何获取ResultSet包含的行数?
0
A
回答
3
我不认为有一种方法可以在单个方法调用中执行此操作。
您可以使用ResultSet的last()
方法,然后调用ResultSet的getRow()
方法,该方法将根据大小给出ResultSet大小并根据需要抛出异常。
请记得有最终条款关闭所有连接/ DS :)
rs.last();
if(rs.getRow() > 1) {
throw (...);
}
3
rs.first();
if(!rs.isLast())
throw new Exception(...);
看来你并不需要知道的行数返回,只是如果有超过1
+0
这就是我实际使用的情况。 – Ivan
0
你试过: java.sql.ResultSet.isBeforeFirst()
来自javadoc: 检索游标是否位于此ResultSet对象的第一行之前。
Note:Support for the isBeforeFirst method is optional for ResultSets with a result set type of TYPE_FORWARD_ONLY
Returns:
true if the cursor is before the first row; false if the cursor is at any other position or the result set contains no ro
相关问题
- 1. 如何获取JDBC ResultSet中的列数?
- 2. ResultSet不包含新插入的行
- 3. 获取Java中ResultSet返回的行数
- 4. 如何从executeBatch获取ResultSet?
- 5. 如何获取使用HSQLDB时由Resultset返回的行数?
- 6. 从jdbc ResultSet获取数据行
- 7. 如何获取包含中文字符的行数?
- 8. 获取包含函数
- 9. 如何获取表中包含其他行的所有行
- 10. 如何获取UDP数据包中包含的信息?
- 11. 的ResultSet中的servlet包含空值
- 12. 获取ResultSet列名
- 13. 如何一般从ResultSet获取值?
- 14. 如何从ResultSet对象获取COUNT?
- 15. 如何从cassandra-jdbc ResultSet获取列名?
- 16. 获取包含字符串的行号
- 17. 获取包含东西的整行
- 18. 如何获取使用ResultSet执行的查询?
- 19. 包含key1的,不包含密钥key2获取行
- 20. 获取包含数据的最小/最大行号的行号?
- 21. 获取ResultSet列的数据类型
- 22. 如何获取NSString中的数字(包含数字和字符)?
- 23. Java SQL存储过程ResultSet无法从仅包含1行的结果中获取数据
- 24. 如何获得java中的总行数excel包含行null?
- 25. 如何获取包含图像
- 26. 如何获取wp包含目录?
- 27. 如何获取包含列表
- 28. 如何获取包含一个datepicker
- 29. 如何在dropdownlist中获取包含值?
- 30. 确定ResultSet中的列是否包含所有行中的值
重复。请参阅:[如何获取java.sql.ResultSet的大小?](http://stackoverflow.com/q/192078) – user272735