当前位置: 首页 > 知识库问答 >
问题:

无法从CursorWindow读取第0行,第5列。在从游标访问数据之前,请确保游标已正确初始化

耿和韵
2023-03-14

日志猫

由:java.lang.IllegalStateException引起:无法从CursorWindow读取第0行,第5行。在从中访问数据之前,请确保光标已正确初始化。在Android.database.cursorwindow.nativegetString(本机方法)在Android.database.cursorwindow.getString(cursorwindow.java:465)在Android.database.abstractwindowedcursor.getString(abstracttwindowedcursor.java:51)在com.example.workhours.databasehelper.viewAllNotes(databasehelper.java:90)在com.example.workhours.mainactivity.java:55,在

public  ArrayList<newNote> ViewAllNotes() {
    ArrayList<newNote> arrayList = new ArrayList<>();
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery("SELECT NOTEMEMOS FROM " + TABLE_NAME, null);

    while(cursor.moveToNext()){
        String notes = cursor.getString(5);
        newNote newNote = new newNote(notes);
        arrayList.add(newNote);
    }
    return arrayList;
}

查询

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE " + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, DATE TEXT, TIMESHIFTSTART INTEGER, TIMESHIFTENDS TEXT, NOTES TEXT, NOTEMEMOS TEXT)");
}

共有1个答案

滑畅
2023-03-14

您的光标有一列select Notemos,但是您试图用getstring(5)读取第六列。将其替换为getstring(0)以读取唯一的列值。

 类似资料: