在我翻页前,别人把第一页的数据删除了一条。则我的下一页会漏掉一条记录,请问有什么好的解决办法。例如:我的数据库中有10条记录1,2,3,4,5,6,7,8,9,10。每页显示5条。
当我浏览第一页的时候显示1,2,3,4,5,如果我选择下一页,应该显示6,7,8,9,10。但是在我点击下一页前,某人删除了第1条记录,我在点击下一页时显示的记录是7,8,9,10,少了第6条记录,请问各位有什么办法防止这种情况吗?不知道说清楚了没有多谢

解决方案 »

  1.   

    我的意思不是说那种固定的索引,而是动态的。每次的索引都是计算出来的所以不会有问题。
    我自己就是这么用的,我回去试了你说的那两种情况都没有问题,上翻页也没有问题,即使点下一页之前把记录全删除了也没有问题,我特意作了实验的。
    下面是我自己用的代码,给你作个参考,希望对你有帮助。
    <%
    sql="select * from guestbook order by id desc";
    rs=odb.executeQuery(sql);
    if(!rs.last()){
    out.println("<tr><td align=center>没有客户留言</td></tr>");
    }else{
    RecordNum = rs.getRow(); 

    PageNum = (RecordNum+PageSize-1) / PageSize;
    if(CurrentPage>PageNum) CurrentPage = PageNum;
    if(PageNum>0){ 
    CurrentIndex=(CurrentPage-1) * PageSize + 1;
    rs.absolute(CurrentIndex);
    int endRow=CurrentIndex+PageSize;  
    while(!rs.isAfterLast()&&rs.getRow()!=endRow){ 
    %>
    <!---这里读数据-->
    <%
    rs.next();
    }
    rs.close();
    }
    }
    %>