Я пытаюсь получить все IDs
в таблице с помощью курсора. Таблица имеет 4 строки, и когда я пытаюсь получить доступ к курсору любым индексом, кроме 0, приложение выйдет из строя.Ошибка при доступе к элементам курсора
Ребята, проблема все еще существует и даже c.getInt (0) не работает ... Я действительно не знаю, где моя ошибка ???
LogCat также предполагает, что ошибка может быть происходит от
Toast.makeText(getApplicationContext(), "id="+dbd.getIDs()[0], Toast.LENGTH_SHORT).show();
Я имею в виду c.getint(0)
возвращает идентификатор, c.getint(2)
возвращает ошибку. Вот код:
public int []getIDs() {
SQLiteDatabase db = this.getReadableDatabase();
SQLiteCursor c = (SQLiteCursor) db.rawQuery("SELECT " + BaseColumns._ID + " FROM Demo ", null);
int []r = new int[c.getCount()];
c.moveToFirst();
do{
r[c.getPosition()] = c.getInt(0);
}while(c.moveToNext());
c.close();
db.close();
return r;
}
ndroid.database.CursorIndexOutOfBoundsException: Индекс 0 просил, с размером 0 02-27 15: 27: 02.957: E/AndroidRuntime (1388): в Вытяните вашу базу данных от эмулятора с DDMS. Проверьте его с помощью Firefox SQL Manager, чтобы проверить его содержимое и проверить свои SQL-запросы. –
Ваш курсор пуст. проверьте данные табуляции. – Natali
ohh, да, это было пусто, я отключил функцию заполнения таблицы. – LetsamrIt