我正在尝试在java类中获取SQL查询的结果集.问题是我的表的第一行永远不会显示在我的UI上.所以我调试了它.
当第一次执行while循环时,while(rs.next)行执行然后它不进入循环,返回到while循环的开头并while(rs.next)再次执行行,现在它进入while循环并设置结果集.
但由于它没有在第一次进入循环,我的表的第一行没有设置到结果集中.
我在这里找不到问题.
我试过do{} while(rs.next)但有时它会抛出疲惫的结果集异常
String SQL_QUERY = select * from my_table;
Statement stt = null;
stt= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE,
ResultSet.HOLD_CURSORS_OVER_COMMIT);
ResultSet rs = stt.executeQuery(SQL_QUERY);
if (rs != null) {
rs.absolute(startRow); // I need to go to some specific row according to users request that is why I used this
}
while(rs.next){
// rs.getString...
}
Run Code Online (Sandbox Code Playgroud)
替换while为
do {
//old body here
} while (rs.next())
Run Code Online (Sandbox Code Playgroud)
执行身体后的这种施工检查条件.有效地跳过第一个next电话.
您可能想查看结果rs.absolute(startRow).如果它false然后结果集包含少于startRow行.
| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |