Android SQLite递增列值

前端之家收集整理的这篇文章主要介绍了Android SQLite递增列值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个分数数据库,当他们通过调用updatescore()获胜时,将玩家的分数增加1.主键和玩家编号相同(我可能需要在某些时候重新构建数据库),最后一列是“得分”.

下面是最初设置得分的代码(这个工作),获得得分的方法(也正常)和更新得分的方法,将相关的球员得分增加1.这是不起作用的部分,我有什么不同的地方吗?谢谢.

  1. /** Add a record to the database of two player scores
  2. * @param playerId
  3. * @param playerscore
  4. **/
  5. public void addscore (int playerId,int playerscore) {
  6.  
  7. sqliteDatabase database = this.getWritableDatabase();
  8.  
  9. ContentValues values = new ContentValues();
  10. values.put(ID,playerId);
  11. values.put(PLAYERNUM,playerId);
  12. values.put(score,playerscore);
  13.  
  14. database.insert(TABLE_2PscoreS,null,values);
  15.  
  16. database.close();
  17.  
  18. }
  19.  
  20.  
  21. // Get the score
  22. public int getscore (int playerId) {
  23. sqliteDatabase database = this.getReadableDatabase();
  24.  
  25. Cursor cursor = database.query(TABLE_2PscoreS,COLUMNS," player = ?",new String[] {String.valueOf(playerId) },null); //null = groupby,having,orderby,limit
  26.  
  27. if (cursor !=null) { cursor.moveToFirst(); }
  28.  
  29. int output = cursor.getInt(2);
  30.  
  31. return output;
  32. }
  33.  
  34.  
  35. // Increment score by 1
  36. public void updatescore (int playerId) {
  37.  
  38. sqliteDatabase database = this.getWritableDatabase();
  39.  
  40. int playerscore = getscore(playerId);
  41. int playerscoreInc = playerscore ++;
  42.  
  43. ContentValues values = new ContentValues();
  44. values.put("score",playerscoreInc);
  45.  
  46. database.update(TABLE_2PscoreS,values,PLAYERNUM+" = ?",new String[] {String.valueOf(playerId)} );
  47.  
  48. database.close();
  49.  
  50. }

解决方法

更改
  1. int playerscoreInc = playerscore ++;

  1. int playerscoreInc = ++ playerscore;

猜你在找的Android相关文章