Intereting Posts
Java.text.ParseException: неотступная дата: "" (при смещении 0) Android: передать идентификатор ресурса в качестве параметра Автоматический поиск в виде пользовательских типов Конфигурация устройства Android для AOSP Как я могу отключить «вернуться» к некоторой активности? «Не удалось найти исключение класса android.transition.Transition» при нажатии кнопки возврата Android – Как измерить качество полосы пропускания в локальной сети одним телефоном Как правильно фильтровать пакет, замененный трансляцией Разница между ApplicationInfo и PackageInfo? Android: takePicture () не делает звук Использование GeoFire для заполнения Firebase Recycler View в android Как можно отправлять параметры локальному файлу в WebView в Android? Изображения для видео с использованием MediaCodec и MediaMuxer Java.lang.IllegalArgumentException: вам необходимо использовать тему Theme.AppCompat (или потомок) с библиотекой дизайна Установка Android при сбое устройства

Как использовать запрос для множественного аргумента выбора, используя один столбец выбора

Вот мой запрос:

// Имя таблицы: вопрос

Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT=?", new String[] { "Ingles", "Historia" }, null,null, null); 

У меня может быть несколько предметов, сейчас у меня всего два предмета (Ingles, Historia)

Как сортировать данные по темам с помощью запроса?

Я получаю ошибку привязки или вне диапазона. Я знаю, что ошибка находится где-то в разделе where , но не может ее решить.

Solutions Collecting From Web of "Как использовать запрос для множественного аргумента выбора, используя один столбец выбора"

Я получил ответ.

1) Для сортировки данных необходимо ввести имя столбца в последнем аргументе

2) Если в одном столбце доступно несколько условий выбора, используйте IN Operator .

  Cursor cursor = db.query("QUESTION", new String[] { "TEXT", "OPTION_A", "OPTION_B", "OPTION_C", "OPTION_D", "OPTION_E", "RIGHT_ANSWER" }, "SUBJECT IN(?,?)", new String[] { "Ingles", "Historia" }, null,null, "SUBJECT"); 

Вы получаете эту ошибку, потому что число «?» Где и длина массива в аргументах несоответствие. Вы можете поставить условие, подобное этому
1) Используя два условия:

  Курсор курсор = db.query («ВОПРОС», новая строка [] {«ТЕКСТ», «ОПЦИЯ_А», «ОПЦИЯ_Б», «ОПЦИЯ_С», «ОПЦИЯ_Д», «ОПЦИЯ_Е», «ВПРАВО],« СУБЪЕКТ1 =? И SUBJECT2 =? ", Новый String [] {" Ingles "," Historia "}, null, null," SUBJECT "); 

2) Используя условие IN

  Курсор курсора = db.query («ВОПРОС», новая строка [] {«ТЕКСТ», «ОПЦИЯ_А», «ОПЦИЯ_Б», «ОПЦИЯ_С», «ОПЦИЯ_Д», «ОПЦИЯ_Е», «ПРАВОЙ_ЗАЩИТНИК»}, «ТЕМА ВХОДА (? ) ", Новая строка [] {" Ingles, Historia "}, null, null," SUBJECT ");