……
<%
 String info=request.getParameter("info");
 String userid=request.getParameter("userid");
 String userpass=request.getParameter("pass");
 ResultSet rsid = null;
 int id=0;
 DigitalStore ds=(DigitalStore)session.getAttribute("ds");

    if(ds.Check_logininfo(userid,userpass))
    {  
     rsid=ds.getIdByName(userid);
     if(rsid.next()){
     id=rsid.getInt("id");
     }
     ds.upd_time_integral(userid);
   session.setAttribute("username",userid);
   session.setAttribute("userpass",userpass);
   session.setAttribute("error",null);

   //session.setAttribute("id",id);
       response.sendRedirect("offerdetail.jsp?info="+info); 
     }else
     {
      session.setAttribute("error","yes");
      out.println("<Script>alert('密码或帐号错误!请重新输入!')</script>");
    out.println("<a href='offerdetail.jsp?info='"+info+">返回!</a>");
       }
%>
问题出现在//session.setAttribute("id",id);
这里显示 该setAttribute(String , object)对于自变量(String,int)不适应
我是想这个 id 是我从数据库提出来的,放在resultset 中,只是 id 在数据库是自增的那种!
不知道 高手对这样的 情况,有什么好的解决方法吗?

解决方案 »

  1.   

    跟自变量没关系吧
    是说setAttribute(String , object)对于自变量(String,int)不适应 
    int不是object!!
    你把int行转成其他类型,如Ingeger或者String再放进去。
      

  2.   

     String aid=null;
    if(rsid.next()){
     id=rsid.getInt("id");
     aid=Integer.toString(id);
         } session.setAttribute("id",aid);真的没出现提示错误,谢谢你哦!
    只是为什么 int就不行,而String 就行?那Integer也应该行吧!他们的区别在那里?object类型的是指那些啊?
      

  3.   

    int 是数值类型,不是引用类型
    除了boolean int float long double等等数值类型的,其他的都是继承object的。
      

  4.   

    id=rsid.getInt("id"); 换成id=rsid.getString("id");也可以的
      

  5.   

    高手,再问你一个问题!
    比如有个发布时间 为:publish_time,假设是  publish_time是2007-6-3
    那我想如果要写另外的一个日期,比如是有效期是半年后,那怎样处理这个  有效期的时间呢?           Date validdate;
                java.sql.Date date = new java.sql.Date(0);
              Date p_time=date.valueOf(publish_time);
              int nnr=rs_Infos.getInt("valid");
          //      ResultSet ss=ds.get_AddDate(180,p_time);
           //   validdate=ss.getDate(dateadd("d",rs_Infos.getInt("valid"),p_time));
    validdate=dateadd("d",rs_Infos.getInt("valid"),p_time);

    if(rs_Infos.getInt("valid")==0)
       {out.println("长 期");}
       else{
       //{out.println("180天");}
       out.println(sdft.format(validdate));
    如果我在方法里面用了dateadd()这个方法去处理,在这里有出现了 getDate(int , Date)对于自变量(int , Date)不适应
    而直接在这里用dateadd()又说该类型方法没有定义。。该怎样处理?我去把int 转后看看,怎样!不行的话就还得请教你!
      

  6.   

    楼上都正解,,,,
    上面的问题涉及到日期的处理,去google一下
      

  7.   


    但是数据库的 id 不是字符串类型的,用getString可以吗?没有错?