sql更新语句一个字段中数量相加 在users表中对有userid,username,passwd,Email,jifen等字段,怎么对jifen字段进行增加积分,兑换积分啊?sql语句应该是怎么 写的?各位帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 something like this?update users set users.jifen = users.jifen + increment where users.userid = ? 也就是1楼这样的做法了,update命令。increment最好是一个常量兑换积分就是 - increment 我是在购物车里根据总价计算积分的!increment怎么设置啊? 总价?那就是多表连接查询了,或者在Java程序中先算出increment值 是的啊?可是public UserBean Upjifen(MyCartBO mcb,String userId,int Jifen) { UserBean ub=new UserBean(); boolean b=false; //MyCartBO mcb=new MyCartBO(); //ArrayList al=mcb.showMycart(); try{ //真的代码. //int increment=mcb.getJifen(); ct=new ConnDB().getConn(); ps=ct.prepareStatement("update users set users.jifen = users.jifen + Jifen where users.userid = userId "); //执行 int a=ps.executeUpdate(); if(a==1){ String sql="select * from users where userid=?"; ps=ct.prepareStatement(sql); rs=ps.executeQuery(); if(rs.next()){ //将rs封装到userbean ub.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 (Exception e1) { e1.printStackTrace(); } finally { this.close(); } return ub; }设置了一个sevlet//得到购物车 MyCartBO mcb=(MyCartBO)request.getSession().getAttribute("mycart"); //用户jifen //int jifen=((UserBean)request.getSession().getAttribute("userInfo")).getJifen(); int Jifen=mcb.getJifen(); long userId=((UserBean)request.getSession().getAttribute("userInfo")).getUserid(); UserBean ub=ubb.Upjifen(mcb, userId+"",Jifen); //int j=mcb.getJifen(); //用户jifen if(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); }结果登录后的页面积分没显示 这句话肯定是有问题的,因为Jifen和userId都是Java变量,哪能放SQL中呢?这样改ps=ct.prepareStatement("update users set users.jifen = users.jifen + " + Jifen + " where users.userid = " + userId ); ps=ct.prepareStatement("update users set users.jifen = users.jifen + Jifen where users.userid = userId ");Jifen : 执行起来就有问题。改为 "+Jifen+" 如何禁止缓存,各位大侠支招 jsp上传文件到服务器问题 javabean连接数据库问题? java中的CSS分离 加了过滤器后在程序中还需要进行编程转换一类的事情呢? 请问关于jsp上传的问题。我是新手请执教! 关于验证码的几个问题 Tomcat为何先执行jsp代码再解析HTML语法? 结果集问题 怎么实现在原图上作标记后将其作为一张新的图片保存 FCKeditor内容不能含单引号怎么解决? 配置ssh框架出错了
increment最好是一个常量兑换积分就是 - increment
那就是多表连接查询了,
或者在Java程序中先算出increment值
UserBean ub=new UserBean();
boolean b=false;
//MyCartBO mcb=new MyCartBO();
//ArrayList al=mcb.showMycart();
try{
//真的代码.
//int increment=mcb.getJifen();
ct=new ConnDB().getConn();
ps=ct.prepareStatement("update users set users.jifen = users.jifen + Jifen where users.userid = userId ");
//执行
int a=ps.executeUpdate();
if(a==1){
String sql="select * from users where userid=?";
ps=ct.prepareStatement(sql);
rs=ps.executeQuery();
if(rs.next()){
//将rs封装到userbean
ub.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 (Exception e1) {
e1.printStackTrace();
} finally {
this.close();
}
return ub;
}设置了一个sevlet
//得到购物车
MyCartBO mcb=(MyCartBO)request.getSession().getAttribute("mycart");
//用户jifen
//int jifen=((UserBean)request.getSession().getAttribute("userInfo")).getJifen();
int Jifen=mcb.getJifen();
long userId=((UserBean)request.getSession().getAttribute("userInfo")).getUserid();
UserBean ub=ubb.Upjifen(mcb, userId+"",Jifen);
//int j=mcb.getJifen();
//用户jifen
if(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);
}结果登录后的页面积分没显示
这样改ps=ct.prepareStatement("update users set users.jifen = users.jifen + " + Jifen + " where users.userid = " + userId );
ps=ct.prepareStatement("update users set users.jifen = users.jifen + Jifen where users.userid = userId ");Jifen : 执行起来就有问题。
改为 "+Jifen+"