Android SQLite相当于给定的更新查询

Android SQLite相当于给定的更新查询,android,sqlite,Android,Sqlite,我必须在Android SQLite中执行以下查询 UPDATE player SET rank=rank+1 WHERE rank >= 3; 这里rank是INTEGER类型的列名 我知道更新方法 update(tablename, values, whereClause, whereArgs); 我将player作为第一个参数,rank>=3作为第三个参数,null作为最后一个参数,但我无法找到作为第二个参数传递的内容。根据文档,它应该是ContentValues的对象 所以我创

我必须在Android SQLite中执行以下查询

UPDATE player SET rank=rank+1 WHERE rank >= 3;
这里rankINTEGER类型的列名

我知道更新方法

update(tablename, values, whereClause, whereArgs);
我将player作为第一个参数rank>=3作为第三个参数null作为最后一个参数,但我无法找到作为第二个参数传递的内容。根据文档,它应该是ContentValues的对象

所以我创建了它的对象作为

ContentValues values = new ContentValues();
values.put("rank",?????);

我不知道如何为表中的列rank键设置值。请建议我将什么作为值传递给put()值方法

我相信更新方法不是一刀切的方法。因此,我认为需要使用rawQuery()来实现这种sql执行。例如:

db.rawQuery("UPDATE player SET rank=rank+1 WHERE rank >= 3;", null);

或者像el7r所说的那样使用execSQL,我相信更新方法不是一种适合所有人的方法。因此,我认为需要使用rawQuery()来实现这种sql执行。例如:

db.rawQuery("UPDATE player SET rank=rank+1 WHERE rank >= 3;", null);

或者像el7r所说的那样使用execSQL,或者您可以使用exec并执行sql命令

db.execSQL("UPDATE player SET rank=rank+1 WHERE rank >= 3");

要使用update方法进行更新,您需要使用Cursor获取变量中的当前秩,然后手动执行+操作“current+1”

或者您可以使用exec并执行sql命令

db.execSQL("UPDATE player SET rank=rank+1 WHERE rank >= 3");
要使用update方法进行更新,您需要使用游标获取变量中的当前秩,然后手动执行+操作“current+1”