我在查詢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函數打斷點,