为什么rawQuery工作和查询不起作用?

时间:2013-12-19 12:23:26

标签: android

我正在使用查询搜索,但我不明白为什么一个代码工作而另一个代码不起作用?!

这是有效的:

          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);*/

3 个答案:

答案 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);

尝试这样的事情,它可能会有效!