我正在使用查询搜索,但我不明白为什么一个代码工作而另一个代码不起作用?!
这是有效的:
String selectQuery = "SELECT * FROM " + TABLE_Soras
+" WHERE "+KEY_SoraName+" LIKE '%"+soraName+"%'";
Cursor cursor = db.rawQuery(selectQuery,null);
但这不会得到任何结果:
Cursor cursor = db.query(TABLE_Soras, new String[]{
KEY_SORA_NO, KEY_SoraName}, KEY_SoraName + "=?",
new String[]{soraName}, null, null, null, null);*/
答案 0 :(得分:2)
因为在第二种情况下%
没有附加到值中,并且您没有在查询中添加LIKE
子句。你需要使用它:
KEY_SoraName + " like ?", new String[] {"%" +soraName + "%"} ...
答案 1 :(得分:0)
试试这个
Cursor cursor = db.query(TABLE_QuranSoras, new String[]{
KEY_SORA_NO, KEY_SoraName}, KEY_SoraName+" LIKE '%"+soraName+"%'", null, null, null, null);
答案 2 :(得分:0)
Cursor cursor = your_database.query(MY_TABLE, new String[] {"first_column","second_column"},your_column + " LIKE '%"+your_criteria+"%'", null, null, null, null);
尝试这样的事情,它可能会有效!