Я под стеной. У меня очень простой метод:sqlite не возвращает результатов
public List<com.fixus.portals.model.Foothold> findAll() {
List<com.fixus.portals.model.Foothold> result = new ArrayList<com.fixus.portals.model.Foothold>();
Cursor cursor = this.db.query(MainHelper.TABLE_FOOTHOLD, FOOTHOLD_FIELDS, null, null, null, null, null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
com.fixus.portals.model.Foothold foothold = this.mapToObject(cursor);
result.add(foothold);
cursor.moveToNext();
}
cursor.close();
return result;
}
Он должен возвращать каждую запись из таблицы, но возвращает 0 (ноль). Я не знаю почему. Я отлаживал весь процесс, запрос выглядит нормально. Что смешно, когда я копирую вызванный запрос и запускаю его вручную на БД, я получаю результаты. Но когда я делаю это с Android-уровня, я ничего не возвращаю. Что я делаю не так ?
Для отладки db-файлов используйте 'DatabaseUtils' и (например) его статический метод' dumpCursor() ', вопрос в том, почему вы хотите перебирать курсор? – pskink
@pskink beucase Хочу коллекцию моих объектов. Но это не проблема, потому что курсор не содержит никаких результатов. – Fixus
Вы уверены, что вызываете 'DatabaseUtils # dumpCursor'? – pskink