关于自变量的处理问题,劳烦高手指点下!谢谢!

kuifont 2008-03-29 03:40:00
……
<%
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 在数据库是自增的那种!
不知道 高手对这样的 情况,有什么好的解决方法吗?


...全文
70 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuifont 2008-03-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 i_saw_you 的回复:]
id=rsid.getInt("id"); 换成id=rsid.getString("id");也可以的
[/Quote]

但是数据库的 id 不是字符串类型的,用getString可以吗?没有错?
mxsoftware 2008-03-29
  • 打赏
  • 举报
回复
楼上都正解,,,,
上面的问题涉及到日期的处理,去google一下
kuifont 2008-03-29
  • 打赏
  • 举报
回复
高手,再问你一个问题!
比如有个发布时间 为: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 转后看看,怎样!不行的话就还得请教你!
i_saw_you 2008-03-29
  • 打赏
  • 举报
回复
id=rsid.getInt("id"); 换成id=rsid.getString("id");也可以的
kevinchj 2008-03-29
  • 打赏
  • 举报
回复
int 是数值类型,不是引用类型
除了boolean int float long double等等数值类型的,其他的都是继承object的。
kuifont 2008-03-29
  • 打赏
  • 举报
回复
String aid=null;
if(rsid.next()){
id=rsid.getInt("id");
aid=Integer.toString(id);
}

session.setAttribute("id",aid);

真的没出现提示错误,谢谢你哦!
只是为什么 int就不行,而String 就行?那Integer也应该行吧!他们的区别在那里?

object类型的是指那些啊?
kuifont 2008-03-29
  • 打赏
  • 举报
回复
那我就试试看!谢谢你的提醒……
kevinchj 2008-03-29
  • 打赏
  • 举报
回复
跟自变量没关系吧
是说setAttribute(String , object)对于自变量(String,int)不适应
int不是object!!
你把int行转成其他类型,如Ingeger或者String再放进去。

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧