主要是用来分页显示的,但是在获取记录集时需要指针移到最后一条记录,麻烦各位帮帮忙!!谢谢!!!
PreparedStatement p=null;
ResultSet rs=null;
p=conn.prepareStatement("SELECT * FROM student");
rs = p.executeQuery();
                  rs.last(); 
                  RowCount = rs.getRow(); 
PageCount = ((RowCount % PageSize) == 0 ? 
(RowCount/PageSize) : (RowCount/PageSize)+1);
String ToPage = request.getParameter("ToPage");
if(ToPage != null) //判断是否可正确取得ToPage参数
{
ShowPage = Integer.parseInt(ToPage);  //取得指定显示的分页页数
if(ShowPage > PageCount)  //下面的if语句将判断用户输入的页数是否正确
{
ShowPage = PageCount;  //判断指定页数是否大于总页数, 是则设置显示最后一页
}
else if(ShowPage <= 0)
{
ShowPage = 1;  //若指定页数小于0, 则设置显示第一页的记录
}
}
rs.absolute((ShowPage - 1) * PageSize + 1);  //计算欲显示页的第一笔记录位置
%>
<H3>当前在第<FONT SIZE = 4 COLOR = red>
<%= ShowPage %></FONT>页, 共
<FONT SIZE = 4 COLOR = red>
<%= PageCount %></FONT>页</H3>

解决方案 »

  1.   

    可以的...你得到connect的时候有一个参数是来控制 可以不可以滚动结果集
      

  2.   

    用创建 Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);conn为Connection的实例!!
    用stmt执行sql语句后来获得ResultSet 就可以使用last方法移动指针了!!
      

  3.   

    对于sql server而言,
    如果要支持数据库指针,
    即last()、first()等定位操作,
    需要在注册驱动时,加如一个参数。
    如下:
    jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yourDB;selectMethod=cursor即:selectMethod=cursor:)
      

  4.   

    SQLSERVER不支持吗?
    stat = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                   ResultSet.CONCUR_READ_ONLY);
    默认情况stat = conn.createStatement()是不支持游标移动的