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

Ran*_*riq 3 sqlite android android-sqlite android-studio

我创建了一个非常简单的数据库Android 应用程序。它需要输入并显示结果。添加按钮用于添加输入,删除按钮用于删除存储在 SQLite 数据库中的输入。我在 Android SQLite 中的光标指向正确,但仍然面临错误:Caused by: java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow。在访问游标中的数据之前,请确保游标已正确初始化。以下是游标部分: Cursor c = db.rawQuery(query, null);

    c.moveToFirst();

    //Traversing through DB
    while (!c.isAfterLast()){
        if(c.getString(c.getColumnIndex("studentname")) !=null)
        {
            dbString += c.getString(c.getColumnIndex("studentname"));
            dbString +="\n"; }

        c.moveToNext(); }
        db.close();

        return dbString;
Run Code Online (Sandbox Code Playgroud)

我尝试更改光标位置,但仍然出现相同的错误。我在其他网站上进行了研究,概念也是如此,但仍然存在问题。

Com*_*are 7

显然,如果返回studentname,结果集中没有列。c.getColumnIndex("studentname")-1