java web项目,怎么获得数据库的返回条数
采用PreparedStatementResultSet方法做的查询。----请问怎么得到表里总记录条数,该用什么方法做,自以为可以的几个方法结果都出问题了。...
采用PreparedStatement ResultSet方法做的查询。 ----请问怎么得到表里总记录条数,该用什么方法做,自以为可以的几个方法结果都出问题了。
展开
2个回答
展开全部
不用执行select count(*),直接用下边的方法,执行你的查询sql。然后通过指针来获取总记录数。
PreparedStatement
stmt = con.prepareStatement
(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//
一定要有ResultSet.TYPE_SCROLL_INSENSITIVE这个参数,不然指针不能滚动,下边的afterLast就不能用。
ResultSet rs = stmt.execute();
rs.afterLast();//指针指向最后一条记录。
int num = rs.getRow();//获取总记录数。
rs.beforeFirst();//指针重新指向第一条记录。
//下边你可以循环取出你要的记录了。
另外建议多看下api,很多人都是PreparedStatement
stmt = con.prepareStatement(sql)写的,其实通过增加ResultSet.TYPE_SCROLL_INSENSITIVE参数就可以 通过滚动指针来获取记录数,并且可以直接遍历查询的结果。
PreparedStatement
stmt = con.prepareStatement
(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//
一定要有ResultSet.TYPE_SCROLL_INSENSITIVE这个参数,不然指针不能滚动,下边的afterLast就不能用。
ResultSet rs = stmt.execute();
rs.afterLast();//指针指向最后一条记录。
int num = rs.getRow();//获取总记录数。
rs.beforeFirst();//指针重新指向第一条记录。
//下边你可以循环取出你要的记录了。
另外建议多看下api,很多人都是PreparedStatement
stmt = con.prepareStatement(sql)写的,其实通过增加ResultSet.TYPE_SCROLL_INSENSITIVE参数就可以 通过滚动指针来获取记录数,并且可以直接遍历查询的结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询