dku*_*mar 5 java jdbc resultset
我正在ResultSet查询Oracle查询.当我ResultSet在无限循环中迭代它时.
ResultSet rs = (ResultSet) // getting from statement
while (rs.next()) {
//
//
}
Run Code Online (Sandbox Code Playgroud)
这个循环没有终止,所以我试着找到使用的记录数,rs.getFetchSize()并返回一个值10.我想知道这是否是找出ResultSet中记录数的正确方法,如果计数为10,为什么它会进入无限循环.请提出你的意见.
实际上,ResultSet没有关于它将返回的实际行数的线索.实际上,使用分层查询或流水线函数,数字也可能是无限的.10是结果集应该/将尝试在单个操作中获取的建议行数.(见下面的评论).
如果查询返回的行数多于预期,则最好检查查询.
要知道存在的记录数,请尝试以下代码
ResultSet rs = // getting from statement
try {
boolean b = rs.last();
int numberOfRecords = 0;
if(b){
numberOfRecords = rs.getRow();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22184 次 |
| 最近记录: |