java中获取结果集ResutSet的总条数,可以直接使用其提供的getRow方法来取得,实例如下:
PreparedStatement pstate = null//声明一个PreparedStatement类String sql = "SELECT * FROM CHE_GOOD WHERE TITLE LIKE ?"//从数据库中查询
pstate = con.prepareStatement(sql,
java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
java.sql.ResultSet.CONCUR_READ_ONLY)
pstate.setString(1, "%" +greatwqs+ "%")
}
ResultSet result = pstate.executeQuery()//声明一个结果集类
result.last()
int rowcount = result.getRow()//获得总条数
不用执行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参数就可以 通过滚动指针来获取记录数,并且可以直接遍历查询的结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)