SQLite Android несколько арок выбора для одного параметра выбора - PullRequest
0 голосов
/ 02 февраля 2020

У меня сейчас есть похожие вопросы, но я не могу понять, что с ними делать, я получил следующий код

 Cursor getterCursor = null;

    String selection = "topic" + " =? ";
    String[] selectionArgs = new String[] {"topic1", "topic2"};

    getterCursor = questionsDatabase.query(mDBName, null, selection, selectionArgs, null, null, null);

И он возвращает ошибку java.lang.IllegalArgumentException: Cannot bind argument at index 2 because the index is out of range. The statement has 1 parameters.. Я понимаю, что это происходит потому, что я получил два элемента в массиве selectionArgs, но я совершенно не представляю, как заставить его работать правильно, помогите, пожалуйста. Еще раз: я действительно пытался решить ее самостоятельно, следуя инструкциям из inte rnet и, в частности, из SO, но я не смог справиться с этим, поэтому теперь обращаюсь за помощью здесь. Заранее спасибо!

1 Ответ

2 голосов
/ 02 февраля 2020

Если вы хотите получить результаты для 2 значений topic, используйте оператор IN:

String selection = "topic IN (?, ?)";

Это эквивалентно:

String selection = "topic = ? OR topic = ?";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...