android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为0

时间:2014-11-11 17:45:56

标签: android sqlite cursor indexoutofboundsexception

我尝试使用游标将最近添加的条目返回到数据库中。发送以下代码时,我在标题中收到错误:

    SQLiteDatabase db =getReadableDatabase();
    String sql = "SELECT * FROM "+SPORTS_TABLE_NAME+" ORDER BY Sport_id DESC LIMIT 1;";
    Cursor cursor = db.rawQuery(sql, null);
    db.close();
    return cursor.getInt(0);

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您的代码必须如下所示:

int id = 0;
SQLiteDatabase db =getReadableDatabase();
String sql = "SELECT * FROM "+SPORTS_TABLE_NAME+" ORDER BY Sport_id DESC LIMIT 1";
Cursor cursor = db.rawQuery(sql, null);
if(cursor != null && cursor.moveToFirst()) {
    id = cursor.getInt(0);
}
if(cursor != null)
    db.close();
return id;