Android Sqlite没有结果

时间:2013-02-16 21:00:21

标签: android sqlite

你认为我的问题是什么。

我正在查询sqlite数据库。 此代码不会给出任何结果。

String sql = " select _id from MYTABLE where  _id = ?  ";
  Cursor cur = mDb.rawQuery(sql, new String[] {"5653"}) ;

但如果我执行的查询没有这样的参数:

String sql = " select _id from MYTABLE where  _id = 5653  ";
  Cursor cur = mDb.rawQuery(sql, null) ;

按预期返回一行。

非常感谢。

2 个答案:

答案 0 :(得分:2)

这是因为值被绑定为字符串,而该列是(我猜)是一个int。所以where子句最终将成为

where _id = "5653"

来自rawQuery javadoc for selectionArgs -

  

您可以在查询中的where子句中包含?s,它将被selectionArgs中的值替换。这些值将绑定为字符串。

答案 1 :(得分:0)

试试这个:

String sql = " select _id from MYTABLE where  _id = '5653'  ";