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) ;

就能获取预期结果。

不知道为什么?

是不是你的SQL语句拼串拼错了,多了个引号之类东东,调试下Framework相关代码可以看到拼串后的sql语句,主要是\frameworks\base\core\java\android\database\sqlite这个包下的代码,SQLiteCompiledSql.java这个类的compile函数打断点,