2
Cursor cursor = db.rawQuery("SELECT id,lastname FROM people WHERE lastname='John Kenedy'; ",null);
是否正確使用比較String
?如果不是,如何才能比較數據庫中的String
值?Android的SQLite查詢字符串
Cursor cursor = db.rawQuery("SELECT id,lastname FROM people WHERE lastname='John Kenedy'; ",null);
是否正確使用比較String
?如果不是,如何才能比較數據庫中的String
值?Android的SQLite查詢字符串
爲了獲得更好的性能,您應該使用rawQuery
方法和selectionArgs
,這種方法對於直接向語句添加數據更快,更安全。因此,嘗試像這樣
Cursor cursor = db.rawQuery("SELECT id,lastname FROM people WHERE lastname = ?; ", new String[] {"John Kenedy"});
你可以使用「=」直字符串比較,也就是'LIKE','GLOB','REGEXP'和'MATCH'(如果你使用的是自由文本搜索表/ fts3) - 你的**用例**是什麼?哦,順便說一下,[SQLiteStatements](http://developer.android.com/reference/android/database/sqlite/SQLiteStatement.html)改進了性能 - *不*調整帶參數的'rawQuery' - 僅僅阻止注入。 – Jens