Задать вопрос
@viktormarkov

Как правильно задать SQLite IN Condition в Android?

Здравствуйте!

Нужно из базы вытянуть все записи, подходящие под условие (COLUMN_ICON == значение1 или значение2 или значение3... и т.д.)

Пытаюсь сделать это вот такие образом:
final String SELECTION = MySQLiteHelper.COLUMN_ICON + " IN ";
        final String[] SELECTION_ARGS = {"default_red", "default_blue"};

        Cursor cursor = mDatabase.query(MySQLiteHelper.TABLE_NOTES,
                allColumns,
                SELECTION,
                SELECTION_ARGS,
                null, null,
                MySQLiteHelper.COLUMN_ID);


При этом выходит ошибка:
Caused by: android.database.sqlite.SQLiteException: near "ORDER": syntax error (code 1): , while compiling: 
SELECT _id, text, title, icon FROM notes WHERE icon IN  ORDER BY _id


Собственно вопрос, где мои кривые руки что-то сделали не так?
Спасибо.
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл Android‑разработчик
    5 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности приложений Андроид»
    14 недель
    Далее
Решения вопроса 1
petermzg
@petermzg
Самый лучший программист
Так сразу и поместите значения в SELECTION
final String SELECTION = MySQLiteHelper.COLUMN_ICON + " IN ( \"default_red\", \"default_blue\") ";
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы