0

このコードを使用して、カーソルからカウントを取得しています。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

なぜこのエラーが発生するのですか?私は何かが足りないのですか。

4

2 に答える 2

3

cursor.moveToFirst()使用する前に電話してくださいCursor

// ...
cursor.moveToFirst();
return cursor.getInt(cursor.getColumnIndex("_count"));
于 2012-10-04T10:00:49.903 に答える
0

この問題を修正するには、cursor.moveToFirst()を呼び出します。

于 2012-10-04T10:03:25.393 に答える