-1
커서를 사용하여 가장 최근에 추가 된 항목을 데이터베이스로 반환하려고합니다. 다음 코드를 보내면 제목에 오류가 발생합니다.android.database.CursorIndexOutOfBoundsException : -1 크기가 0 인 색인 -1이 요청되었습니다.
SQLiteDatabase db =getReadableDatabase();
String sql = "SELECT * FROM "+SPORTS_TABLE_NAME+" ORDER BY Sport_id DESC LIMIT 1;";
Cursor cursor = db.rawQuery(sql, null);
db.close();
return cursor.getInt(0);
아이디어가 있으십니까?
당신은 첫 번째 레코드로 이동하는 것을 잊었다. 이제 첫 번째 요소 앞을 가리 킵니다 (따라서 인덱스는 여전히 -1 임). 또한, 당신의 쿼리가 전혀 레코드를 반환하지 않는 것 같습니다 (레코드 수 = 0) –
그는 또한 커서에서 값을 얻기 전에 db를 닫습니다. – Selvin
좋아요. 그래서 코드가 조금 복잡해져서 db가 아직 열렸을 때 나는 정보를 저장하고 오류가 변경되었습니다, 그것은 -1 크기로 요청했습니다. 어떻게 첫 번째 레코드로 이동합니까? – Donnacha