在 JSP 中打印 ResultSet 值直到一定数量
Print the ResultSet values upto a certain number in JSP
这个问题有点奇怪,不过这两天一直在追
我已将 ResultSet 对象发送到 JSP 页面以显示记录。它使用 while(rs.next()){} 显示 JSP 中结果集的所有记录。
我的问题是:是否有任何方法可以将结果集的记录从某个number_of_row打印到某个number_of_row?,例如我想打印行号 3 到 6 之间的记录。
我不希望 Java 类 承受像 SQL 这样的负载: SELECT * FROM ......LIMIT 3,3;
我希望 JSP 采取措施做到这一点,例如while(rs.next(从 3 到 6)){}
有什么帮助吗?提前致谢。
在 jsps 中处理结果集有点过时,不推荐使用。也就是说,您可以使用 ResultSet.absolute(int position) 移动到特定行,然后循环计算迭代次数。
http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#absolute(int)
int cont=0;
int min=3;
int max=6;
while (rs.next() && cont < max){
cont++;
if (cont>=min){
//print
}
}
ResultSet 有方法,absolute() 获取行号。
所以你可以简单地使用:
rs.absolute(3);
while(rs.next()) {
if(6 < rs.getRow()) {//get current row no
break;
}
//get data
}
ResultSet接口的absolute method
会帮助你
boolean absolute(int row) throws SQLException
Moves the cursor to the given row number in this ResultSet object.
If the row number is positive, the cursor moves to the given row
number with respect to the beginning of the result set. The first row
is row 1, the second is row 2, and so on.
If the given row number is negative, the cursor moves to an absolute
row position with respect to the end of the result set. For example,
calling the method absolute(-1) positions the cursor on the last row;
calling the method absolute(-2) moves the cursor to the next-to-last
row, and so on.
If the row number specified is zero, the cursor is moved to before the
first row.
An attempt to position the cursor beyond the first/last row in the
result set leaves the cursor before the first row or after the last
row.
Note: Calling absolute(1) is the same as calling first(). Calling
absolute(-1) is the same as calling last().
将光标移动到任何特定的行并读取到任何你想要的地方,你可以使用 getRow() 来了解 ResultSet 光标指向的特定行
这个问题有点奇怪,不过这两天一直在追
我已将 ResultSet 对象发送到 JSP 页面以显示记录。它使用 while(rs.next()){} 显示 JSP 中结果集的所有记录。
我的问题是:是否有任何方法可以将结果集的记录从某个number_of_row打印到某个number_of_row?,例如我想打印行号 3 到 6 之间的记录。
我不希望 Java 类 承受像 SQL 这样的负载: SELECT * FROM ......LIMIT 3,3;
我希望 JSP 采取措施做到这一点,例如while(rs.next(从 3 到 6)){} 有什么帮助吗?提前致谢。
在 jsps 中处理结果集有点过时,不推荐使用。也就是说,您可以使用 ResultSet.absolute(int position) 移动到特定行,然后循环计算迭代次数。
http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#absolute(int)
int cont=0;
int min=3;
int max=6;
while (rs.next() && cont < max){
cont++;
if (cont>=min){
//print
}
}
ResultSet 有方法,absolute() 获取行号。
所以你可以简单地使用:
rs.absolute(3);
while(rs.next()) {
if(6 < rs.getRow()) {//get current row no
break;
}
//get data
}
ResultSet接口的absolute method
会帮助你
boolean absolute(int row) throws SQLException
Moves the cursor to the given row number in this ResultSet object.
If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.
If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling the method absolute(-1) positions the cursor on the last row; calling the method absolute(-2) moves the cursor to the next-to-last row, and so on.
If the row number specified is zero, the cursor is moved to before the first row.
An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before the first row or after the last row.
Note: Calling absolute(1) is the same as calling first(). Calling absolute(-1) is the same as calling last().
将光标移动到任何特定的行并读取到任何你想要的地方,你可以使用 getRow() 来了解 ResultSet 光标指向的特定行