我必须在Android SQLite中执行以下查询
UPDATE player SET rank=rank+1 WHERE rank >= 3;
Run Code Online (Sandbox Code Playgroud)
这里rank是INTEGER类型的列名.
我知道更新方法
update(tablename, values, whereClause, whereArgs);
Run Code Online (Sandbox Code Playgroud)
我将传递玩家作为第一个参数,rank> = 3作为第三个参数,null作为最后一个参数但是我无法找到作为第二个参数传递的内容.根据文档,它应该是ContentValues的一个对象.
所以我创建了它的对象
ContentValues values = new ContentValues();
values.put("rank",?????);
Run Code Online (Sandbox Code Playgroud)
我很担心什么把rank key 的值放在我的表中的一列.请建议我将值传递给put()方法的值
或者你可以使用exec,并执行你的sql命令
db.execSQL("UPDATE player SET rank=rank+1 WHERE rank >= 3");
Run Code Online (Sandbox Code Playgroud)
要使用更新方法执行此操作,您需要使用Cursor获取变量中的当前排名,然后手动执行+ thing"current + 1"
| 归档时间: |
|
| 查看次数: |
2546 次 |
| 最近记录: |