本帖最后由 setoy 于 2009-09-22 19:07:00 编辑

解决方案 »

  1.   

    如果你的数据库是MYSQL的话
    String SQL = "UPDATE users SET bonus = concat(this.getBonus(),bonus)" + 
                    + " WHERE id='" + this.getID() + "'";
            new DataBase().executeUpdate(SQL);
      

  2.   

    如果上面的不行你再试试下面的
    String SQL = "UPDATE users SET bonus = bonus||”+this.getBonus
                    + " WHERE id='" + this.getID() + "'"; 
            new DataBase().executeUpdate(SQL); 
      

  3.   

    UPDATE users SET bonus = bonus 加上+
      

  4.   


    但是负数不行~~~~
    比如bonus原值是10,this.getBonus()如果是5的话,bonus新值是15,这个正确!!!
    但是如果this.getBonus()是-5的话,bonus新值居然是9!! 不是减去5,而且是只减去了1
      

  5.   

    不能先计算好bonus + this.getBonus() 吗?
      

  6.   

    先计算好bonus + this.getBonus() 的话要写两个sql了
      

  7.   

    String SQL = "UPDATE users SET bonus = bonus" + this.getBonus()
                    + " WHERE id='" + this.getID() + "'";
            new DataBase().executeUpdate(SQL);
    先查询出原来的bonus,加上现在的this.getBonus(),设置成新的bonus。
    在执行String SQL = "UPDATE users SET bonus = " + this.getBonus()
                    + " WHERE id='" + this.getID() + "'";
            new DataBase().executeUpdate(SQL);
      

  8.   

    String SQL = "UPDATE users SET bonus = bonus+" + this.getBonus()
                    + " WHERE id='" + this.getID() + "'";
            new DataBase().executeUpdate(SQL);
      

  9.   

    String SQL = "UPDATE users SET bonus = " + this.getBonus()
                    + " WHERE id='" + this.getID() + "'";
            new DataBase().executeUpdate(SQL);
      

  10.   

    这个可以的!!! 我少了一个+号
    但是,奇怪的是不能加负数!?比如bonus原值是10,this.getBonus()如果是5的话,bonus新值是15,这个正确!!!
    但是如果this.getBonus()是-5的话,bonus新值居然是9!! 不是减去5,而且是只减去了1
      

  11.   

    "UPDATE users SET bonus = "+ (bonus + this.getBonus()) + " WHERE id='" + this.getID() + "'";
      

  12.   

    "UPDATE users SET bonus = "+ (bonus + this.getBonus()) + " WHERE id='" + this.getID() + "'"; 
      

  13.   

    我的正常,你打印下看看sql是什么样的
      

  14.   

    String SQL = "UPDATE users SET bonus = bonus+" + this.getBonus()
                    + " WHERE id='" + this.getID() + "'";
      

  15.   

    如果上面的不行你再试试下面的 
    String SQL = "UPDATE users SET bonus = bonus||”+this.getBonus 
                    + " WHERE id='" + this.getID() + "'"; 
            new DataBase().executeUpdate(SQL