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