Что не так с этим запросом SQLite? - PullRequest
0 голосов
/ 22 ноября 2011

Я могу гарантировать, что в базе данных есть все столбцы и значения, которые я ищу.

Запрос возвращается с CursorOutOfBounds.У кого-нибудь есть идеи, почему и что я должен проверить?

    Cursor c = db.rawQuery("SELECT * FROM table WHERE _id="+nextvalue+"" , null);
    c.moveToFirst();
    numval = c.getInt(c.getColumnIndex("_id"));                 
    c.close();

Logcat output

11-22 00:08:36.614: ERROR/AndroidRuntime(25405): Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0

Ответы [ 2 ]

3 голосов
/ 22 ноября 2011

Запрос возвращает пустой набор результатов. Нет записей с идентификатором nextvalue (что бы это ни было). Вы должны проверить, что moveToFirst() успешно:

if (c.moveToFirst()) {
    numval = c.getInt(c.getColumnIndex("_id"));
} else {
    // no results returned
}
c.close();
0 голосов
/ 22 ноября 2011

Содержится ли утверждение в bindview CursorAdapter? если это так, попробуйте удалить c.moveToFirst()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...