使用else构建逻辑条件查询,如果是android sqlite

时间:2015-03-26 13:07:09

标签: android mysql sqlite

我正在使用过滤,唯一实现的过滤器是按key_name搜索,我还想添加其他密钥。

 public static Cursor fetchCountriesByName(String inputText) throws SQLException {
      Log.w(TAG, inputText);
      Cursor c = null;
      if (inputText == null  ||  inputText.length () == 0)  {
       c = db.query(DATABASE_TABLE, new String[] {KEY_ROWID,
         KEY_NAME, KEY_COUNTRY, KEY_REGION, KEY_PHONE},
         null, null, null, null, null);

      }
      else  {
      c = db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
         KEY_NAME, KEY_COUNTRY, KEY_REGION, KEY_PHONE},
         KEY_NAME + " like '%" + inputText + "%'", null,
         null, null, null, null);
      }

      if (c != null) {
       c.moveToFirst();
      }
      return c;

     }

当我尝试使用else {if(它请求了一个(c!= null),当我尝试修改时,KEY_NAME +“喜欢'%'+ inputText +”%'“,null,KEY_COUNTRY +”like“ %“+ inputText +”%'“,KEY_REGION +”like'%“+ inputText +”%'“);正在说非法的感觉。

如何正确做到?

感谢。

1 个答案:

答案 0 :(得分:0)

您忘记在查询中添加ANDOR等条件

检查以下示例

    db.query(true, DATABASE_TABLE,new String[] {KEY_ROWID,
                     KEY_NAME, KEY_COUNTRY, KEY_REGION, KEY_PHONE}, 
                     KEY_NAME + " LIKE ? AND ", KEY_COUNTRY + " LIKE ? AND ", KEY_REGION + " LIKE ?",
                     new String[] {"%"+inputText+"%" ,"%"+inputText+"%" ,"%"+inputText+"%"}, 
                     null, null, null, null);

这里我使用AND你可以根据需要更换它。