我有一个表A(name number) 2条记录
             (  wq  80    )
             ( se   90   )
   现在 我从一个页面接受2个参数
String name=getStr(request.getParameter("chukubianma"));
 String shulian=getStr(request.getParameter("chukushulian"));
  分别是 name 和 number
  我 比如 我输入的参数是 wq  50
  我就要将 wq 的数量变为 80-50=30 怎么写呢

解决方案 »

  1.   

    update a set number=number-@shulian where name=@name
      

  2.   

    我这样写 好象输出 not ok 呀
    <%
         String bianma=getStr(request.getParameter("chukubianma"));
     String wuliaoshulian=getStr(request.getParameter("chukushulian"));
       //out.print(bianma);
      //if(bianma=null){
       //out.print("<script language='javascript'>alert('仓库里没有这样的编码请先添加或重新输入');window.location.href='chuku.html';</script>");}
     String sql="select * from grubby where wuliaobianma='"+bianma+"'";
     ResultSet rs=connBean.executeQuery(sql);
     if (!rs.next())
      {
    out.println("<script language='javascript'>alert('仓库里没有这样的编码请先添加或重新输入');window.location.href='chuku.html';</script>");
    }
     //if(rs.next())
      String strupdate="update grubby set shulian=shulian-@wuliaoshulian where wuliaobianma=@bianma";
     int set=connBean.executeUpdate(strupdate);
      if (set>0)
       out.print("ok");
        else 
    out.print("not ok");
       %>
      

  3.   

    呵呵,我用@表示的是变量,你不能这样
    String strupdate="update grubby set shulian=shulian-"+wuliaoshulian+" where wuliaobianma="+bianma;
      

  4.   

    如果编码是字符的你要加单引号wuliaobianma='"+bianma+"'";
      

  5.   

    感谢你呀 可以了 感觉SQL要学的很多呀
      

  6.   

    这个也要学
      请叫一个SQL语句  
    ==〉请教  别叫 叫得郁闷