由于jdbc没有提供直接获取ResultSet中结果集总行数的方法,所以只有通过其它途径解决。下面列出几种网上常见的方法供大家参考:
单独查询总行数
ResultSet rs=conn.executeQuery("select * from mytab");
ResultSet rs=conn.executeQuery("select count(*) from mytab");
int totalrow=rs.getInt(1);
或
String sql="select * from mytab";
ResultSet rs=conn.executeQuery(sql);
ResultSet rs=conn.executeQuery("select count(*) from ("+sql+")");
int totalrow=rs.getInt(1);
先将结果集游标移到最后,然后得到当前行号
ResultSet rs=conn.executeQuery("select * from tablename");
rs.last();
int totalrow=rs.getRow();
或
ResultSet rs=conn.executeQuery("select * from tablename");
rs.afterLast();
rs.previous();
int totalrow=rs.getRow();
程序里遍历得到
ResultSet rs=conn.executeQuery("select * from tablename");
int count=0;
while(rs.next()){
count++;
}