问题描述
在users表中对有userid,username,passwd,Email,jifen等字段,怎么对jifen字段进行增加积分,兑换积分啊?sql语句应该是怎么写的?各位帮帮忙!
解决方案
解决方案二:
somethinglikethis?updateuserssetusers.jifen=users.jifen+incrementwhereusers.userid=?
解决方案三:
也就是1楼这样的做法了,update命令。increment最好是一个常量兑换积分就是-increment
解决方案四:
我是在购物车里根据总价计算积分的!increment怎么设置啊?
解决方案五:
引用3楼wd47457的回复:
我是在购物车里根据总价计算积分的!increment怎么设置啊?
总价?那就是多表连接查询了,或者在Java程序中先算出increment值
解决方案六:
是的啊?可是publicUserBeanUpjifen(MyCartBOmcb,StringuserId,intJifen){UserBeanub=newUserBean();booleanb=false;//MyCartBOmcb=newMyCartBO();//ArrayListal=mcb.showMycart();try{//真的代码.//intincrement=mcb.getJifen();ct=newConnDB().getConn();ps=ct.prepareStatement("updateuserssetusers.jifen=users.jifen+Jifenwhereusers.userid=userId");//执行inta=ps.executeUpdate();if(a==1){Stringsql="select*fromuserswhereuserid=?";ps=ct.prepareStatement(sql);rs=ps.executeQuery();if(rs.next()){//将rs封装到userbeanub.setUserid(rs.getLong(1));ub.setUsername(rs.getString(2));ub.setTruename(rs.getString(3));ub.setPasswd(rs.getString(4));ub.setEmail(rs.getString(5));ub.setPhone(rs.getString(6));ub.setAddress(rs.getString(7));ub.setPostcode(rs.getString(8));ub.setGrade(rs.getInt(9));b=true;}}}catch(Exceptione1){e1.printStackTrace();}finally{this.close();}returnub;}设置了一个sevlet//得到购物车MyCartBOmcb=(MyCartBO)request.getSession().getAttribute("mycart");//用户jifen//intjifen=((UserBean)request.getSession().getAttribute("userInfo")).getJifen();intJifen=mcb.getJifen();longuserId=((UserBean)request.getSession().getAttribute("userInfo")).getUserid();UserBeanub=ubb.Upjifen(mcb,userId+"",Jifen);//intj=mcb.getJifen();//用户jifenif(ub!=null){//添加成功request.setAttribute("userInfo",ub);request.getRequestDispatcher("userlogin_down.jsp").forward(request,response);}else{//添加失败request.getRequestDispatcher("index.jsp").forward(request,response);}//request.getRequestDispatcher("userlogin_down.jsp").forward(request,response);}结果登录后的页面积分没显示
解决方案七:
引用5楼wd47457的回复:
ps=ct.prepareStatement("updateuserssetusers.jifen=users.jifen+Jifenwhereusers.userid=userId");
这句话肯定是有问题的,因为Jifen和userId都是Java变量,哪能放SQL中呢?这样改ps=ct.prepareStatement("updateuserssetusers.jifen=users.jifen+"+Jifen+"whereusers.userid="+userId);
解决方案八:
引用6楼magong的回复:
引用5楼wd47457的回复:ps=ct.prepareStatement("updateuserssetusers.jifen=users.jifen+Jifenwhereusers.userid=userId");这句话肯定是有问题的,因为Jifen和userId都是Java变量,哪能放SQL中呢?这样改ps=ct.prepareSt……
+1
解决方案九:
同志们真是幸苦了啊
解决方案十:
ps=ct.prepareStatement("updateuserssetusers.jifen=users.jifen+Jifenwhereusers.userid=userId");Jifen:执行起来就有问题。改为"+Jifen+"