日期:2014-05-20  浏览次数:20697 次

STRUTS ACTION 修改问题
代码如下:
else   if   (action.equalsIgnoreCase( "update "))   {//修改操作

//String   USERID   =(String)   httpServletRequest.getSession().getAttribute( "USERID ");
String   sql   =   "update   BIZ_SYS_MANAGER   set   USERID= "   ;
sql   +=   " ' "   +   managerForm.getUSERID()   +   " ' "+ ", ";
sql   +=   "USERNAME= ' "   +   managerForm.getUSERNAME()   +   " ' "   +   ", ";
//sql   +=   "ALIAS= ' "   +   managerForm.getALIAS()   +   " ' "   ;
sql   +=   "   where   USERID   =   ' "   +USERID   +   " ' ";

ManagerBean   managerbean   =   new   ManagerBean();
managerbean.update(sql);


return   actionMapping.findForward( "returnlist ");


运行结果update   BIZ_SYS_MANAGER   set   USERID= '1 ',USERNAME= ' ',   where   USERID   =   ' '     为什么WHERE后面的USERID= ' '啊
这段代码哪里出错,劳驾高手指点

------解决方案--------------------
确定下你的session里有没有USERID;想取值,必须先setAttribute啊。
------解决方案--------------------
LZ:你的太度太恶劣了.你发表的问题的程序贴得乱七八糟的.谁有那么好的赖心把你那乱七八糟的程序整理好了再给你找问题.拜托了.时间很宝贵,别浪费别人的时间,好吗?

------解决方案--------------------
调试时看sql字符串,检查是否正确,或者把自己把sql打印出来,执行看是否正确
------解决方案--------------------
晕,看这种 SQL 的拼接太费劲了,为什么不用 PreparedStatement 呢。
------解决方案--------------------
把你的代码放出来,看你的USERID 从哪里值了,我看你把那句(//String USERID =(String) httpServletRequest.getSession().getAttribute( "USERID ");)注释掉了,所以你前面应该有一个地方定义这个USERID,你是不是没有给它赋值啊?