根据客户给出的条件,如时间段,号码,名称等来查询数据,可是不知怎么样做到显示第二页时的数据还是满足同样条件的数据.

解决方案 »

  1.   

    我知道,用sqlserver用一个子查询就可以了
    sqlserver语句:select top 一页多少条* from table where id not in(select top 页数-1 id from table where条件) and 条件
      

  2.   

    在Servelt或Action里面设置变量 
        int page; 
        int perPage; 
        String orderBy; 
      

  3.   

    public List sel(int page)
    {
      int num=0;
      if(page>1)
      {
        num=3*(page-1);  //每页显示3行数据
      }
    String sql="select top 3 * from 表名 where id not in(select top"+num+ 
     "id from 表名 )";
    //下面代码省略...}
      

  4.   

      楼主用缓存吗?
        可以将这个结果集缓存起来保存到相应的集合中。(Hibernate就是这么干的)
          不过你的数据要满足以下要求。
         1,没有并发访问的数据。
         2,数据操作不频繁。
         3,非安全性数据。
         4,数据量适中。