У меня есть код ниже, где я использую вложенные курсоры. Оба они не являются нулевыми, но я получаю ошибку "android.database.CursorIndexOutOfBoundsException: указатель 0 запрошен, с размером 0" на внутреннем курсоре.Курсор внутри другого курсора в sqlite db
Cursor cursor3 = null;
Cursor cursor2 = db.getAllFriendsChat();
cursor2.moveToFirst();
while (!cursor2.isAfterLast()) {
String number = cursor2.getString(cursor2.getColumnIndexOrThrow(ChatModel.COLUMN_CHAT_SENT_TO));
cursor3 = db.getName(number);
String name = cursor3.getString(cursor3.getColumnIndexOrThrow(db.KEY_NAME));
db.insertList(name, number);
cursor3.close();
cursor2.moveToNext();
}
cursor2.close();
GetName() Метод:
public Cursor getName(String phone) {
SQLiteDatabase db = this.getWritableDatabase();
Cursor c = db.rawQuery("select * from " + TABLE_STUDENTS + " where phone_number = " + phone, null);
if (c != null) {
c.moveToFirst(); //***I see that this statement is executed.***
}
return c;
}
Я не могу понять, где я делаю ошибку. Есть ли другой способ обработки вложенных курсоров в sqlite db. Помощь Pls.
Спасибо!