Android sqlite - 如何在where子句中管理Integer值

Luk*_*uke 4 sqlite android where-clause

我在查询中有一个问题来管理android中的sqlite数据库.

这是一个示例方法:

public Cursor selectID( Integer id){
// query code for select
}
Run Code Online (Sandbox Code Playgroud)

但是我看到的所有查询方法,都不允许我管理整数参数,或除String参数之外的任何其他参数.通常我使用rawQuery方法:

例如 :

db.rawQuery("Select id from dbName where id = ?", new String[] {id});
Run Code Online (Sandbox Code Playgroud)

但正如我所说,用Integer或其他参数是不可能的(例如

new Integer[] {id};
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能解决我的问题?

Ken*_*olf 7

使用String.valueOf(id)它将返回int的String表示形式.

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#valueOf(int)

所以你的陈述将如下所示:

db.rawQuery("Select id from dbName where id = ?", new String[] {String.valueOf(id)});
Run Code Online (Sandbox Code Playgroud)

  • 如果列没有数字亲缘关系,则无效. (3认同)