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);
}
答案 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()