Целый день ищу - не могу найти: как сделать правильный запрос (query для получения курсора)
что-бы выбрались строки в которых заданный столбец содержит одно из значений из списка?
Код: Выделить всё
// задаем название колонки и указываем что требуемые значения в массиве
String where = COL_SUPERCOL + " = ?";
// массив для выбираемых значений
String[] whereArr;
int s = megaMap.size();
int i = 0;
whereArr = new String[s];
for (Map.Entry<String, DataContainer> entry : megaMap.entrySet()) {
whereArr[i] = entry.getKey();
i++;
}
getContentResolver().query(CONTENT_URI, null, where, whereArr, null);
Понимаю что в самом запросе чего-то не хватает, но чего именно - найти не могу.
Пробовал и количество "вопросов" ставить соответственно количеству строк в массиве и запятые перед ними ставить - такое не проходит вообще. Сколько ни искал - не могу найти пример как сделать в данном случае правильно.
Везде где находил использование массива - задают одну строку, а что-бы несколько - такого нет.
Возможно это невозможно?
На всякий случай поясню: к примеру есть колонка с номером телефона, в курсор нужно поместить те строки
в которых есть номер телефона из списка.
Таблица:
COL_NAME COL_NUM
Лена 333555
Света 777111
Катя 933555
Вася 02020202
Код: Выделить всё
where = COL_NUM + " = ?";
whereArr = { "333555", "777111" };
context.getContentResolver().query(PHONES_URI, null, where. whereArr, null);