我是這麼寫的,但是不對
    if (session.getAttribute("RS")==null)
{
     rs=st.executeQuery("select * from hr_user" );
     session.setAttribute("RS",rs);
    }
    else rs=(ResultSet)session.getAttribute("RS");

解决方案 »

  1.   

    把得到的结果放到一个 collection ,在放入 session 里去ResultSet 不能脱离 rs 存在的
      

  2.   


          ResultSet rs =(ResultSet)session.getAttribute("rs");
          if (rs.next())
         {
           //将ResultSet对象保存至当前会话
              session.setAttribute("rs",rs);
         }试验下
      

  3.   

    100或更多个用户在线的话会占多少内存?随便一个网站的在线人数都超过这个值。
    你的记录集数据太少(少于1M)就没必要放到session中,太多就...
      

  4.   

    可以考虑放到application中(如果所有用户要的数据相同)
      

  5.   

    我的目的很簡單,因為我這個rs每次查詢很慢,所以我不想讓他頻繁
    去查詢,所以我想題詞頁面提交的時候能保存下這個rs而不讓他重新去查詢
    所以想用session來保存,但是用各位的方法都不行,幫幫忙!
    謝謝
      

  6.   

    查詢得到的結果太大了,不可能保存到session裡面
    而是想辦法保存rs,這樣不知道有沒有辦法做到
      

  7.   

    用一个对象包装起来放到APPLICATION对象中
      

  8.   

    application其實和session一個道理,也是不行的
      

  9.   

    """"目的很簡單,因為我這個rs每次查詢很慢,所以我不想讓他頻繁去查詢""""为什么不去用DAO对象呢?如果用了你的问题不就解决了吗?
      

  10.   

    问题是这样的,rs是建立在connection的基础上
    虽然你把rs放到session当中,但当你在别的地方从session
    得到rs以后,支持这个rs的connection在前面的程序执行完以后,已经被系统关闭了
    所以,虽然你得到了rs,但是这时候的conneciton已经关闭了
    你的rs也被迫关闭了!祝你好运!
      

  11.   

    可以将ResultSet放到Vector中,再将Vector放到session中
      

  12.   

    回复人: wzy9645(想飞... ...) ( ) 信誉:91  2004-04-20 15:53:00  得分:0 
     
     
      用一个对象包装起来放到APPLICATION对象中
      
     
    Top 
     
     回复人: qiuzilingxixi(似是故人來) ( ) 信誉:90  2004-04-20 16:21:00  得分:0 
     
     
      application其實和session一個道理,也是不行的
     
     
    =============================我的意思是说把RS里的数据放到一个对象里,如果应用程序级的共享数据的话就可以放到application里