我在查询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函数打断点,