//得到连接
ConnDB cd=new ConnDB();
ct=cd.getConn();
String sql2="select money from users where userId='"+id+"'";
ps2=ct.prepareStatement(sql2);
String sql="update users set money='"+money+"' where userId='"+id+"'";
//打印
System.out.println ("sql===="+sql);
ps=ct.prepareStatement(sql);
int num=ps.executeUpdate();

if(num==1){
b=true;怎么把sql2语句所得到的值与输入的新的值相加。得到新的值再传到money

解决方案 »

  1.   

    听不懂、加就加呗
    Double.parseDouble()转一下然后加呗
      

  2.   

    [code=/Java] String sql="update users set money=(select money from users where userId='"+id+"')+'"+money+"' where userId='"+id+"'"; [/code]
    我把它改成上面这样,sql语句报错。
      

  3.   

    我上网查了一下。在mysql中不能先select出同一表中的某些值,再update这个表(在同一语句中) 
      

  4.   

    nonono
    你要先取出来、处理好、然后再写一句sql去更新
      

  5.   

    问题就在这里。不知道怎么处理好。我把整个代码贴出来吧。 //业务逻辑 
    private Connection ct=null;
    private PreparedStatement ps=null; private ResultSet rs=null;
    //记账
    public boolean jizhang(String id,String email,String money,String grade){

    boolean b=false;

    try {

    //得到连接
    ConnDB cd=new ConnDB();
    ct=cd.getConn(); String sql="update users set money=(select money from users where userId='"+id+"')+'"+money+"' where userId='"+id+"'";
    //打印
    System.out.println ("sql===="+sql);
    ps=ct.prepareStatement(sql);
    int num=ps.executeUpdate();

    if(num==1){
    b=true;
    }

        }
        catch (Exception ex) {
        
         ex.printStackTrace();
        
        }finally{
        
         this.close();
        }
        
        return b;
    }
      

  6.   

    String sql="select money from users where userId='"+id+"'";                
                    //打印
                    System.out.println ("sql===="+sql);
                    ps=ct.prepareStatement(sql);
                    int num=ps.executeUpdate();
                
                    if(num==1){
    //
    获得拿出的money 做处理String sql2="update users set money=传入 where   条件";                
                    //打印
                    System.out.println ("sql2===="+sql2);
                    ps=ct.prepareStatement(sql2);
                    int num2=ps.executeUpdate();
    if(num2==1){
     b=true;
    }
    //
                       
                    }
      

  7.   

     int num=ps.executeUpdate();
    这句要改改成得到获得的money
    下面改成判断money是否有效、合法之类的
      

  8.   

    这个sql语句完全没看懂。money=传入?这是什么意思呢?求解。。
      

  9.   

    自己搞定了,通过对sql语句进行别名操作那个String sql="update users set money=((select a.money from (select b.*from users as b) as a where a.userId='"+id+"')+'"+money+"') where userId='"+id+"'";