查询无效

时间:2010-12-08 12:16:37

标签: android database

HI,我使用此查询但它无效。它返回错误

12-08 17:04:21.498: ERROR/AndroidRuntime(1867): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1

Cursor mCursor = dbRead.query(DBHandler.TABLE_NAME, new String[] {"LevelNumber", "LevelState" }, "LevelNumber = " + level_Number +"", null, null, null, null);

for(int i=0; i<mCursor.getCount(); i++) {
 levelNumber = mCursor.getString(0);
 levelState = mCursor.getString(1);
}

2 个答案:

答案 0 :(得分:2)

您的光标未定位。 Cursor允许用户迭代结果,但您需要告诉它迭代。因此,更好的循环方式是:

for (mCursor.moveToFirst(); !mCursor.isAfterLast(); mCursor.moveToNext()) {
    levelNumber = mCursor.getString(0);
    levelState = mCursor.getString(1);
}

答案 1 :(得分:1)

我认为您需要在(int i = 0; ...

之前添加mCursor.moveToFirst()

http://developer.android.com/reference/android/database/Cursor.html#moveToFirst()