使用Sqlite DB时获取CursorIndexOutOfBoundsException

时间:2012-10-04 09:58:43

标签: android sqlite

我正在使用此代码从光标中获取计数。在SQLite Manager中执行Select查询时,我的计数为6.

public int getCount(String name){           
        Cursor cursor;
        cursor = myDataBase.rawQuery(
                "select count(*) as _count from tProviderNode where parentId IN(select identifier from tProviderNode where name='"
                        + name + "');", null);
        return cursor.getInt(cursor.getColumnIndex("_count"));
    }  

执行此功能时,我收到以下错误: -

android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1

为什么我收到此错误?我错过了什么。

2 个答案:

答案 0 :(得分:3)

在使用cursor.moveToFirst()

之前致电Cursor
// ...
cursor.moveToFirst();
return cursor.getInt(cursor.getColumnIndex("_count"));

答案 1 :(得分:0)

调用cursor.moveToFirst()来解决问题。