Android-sqlite 无法从游标读取第 0 行,第 -1 列 Window

Android-sqlite Couldn't read row 0, col -1 from Cursor Window

我正在尝试从 table 中获取一个值。

 cursor=db.rawQuery("select value from '" + tableName + "' where key= '" + name + "' ",null);

if (cursor.getCount()>0){
        if (cursor.moveToFirst()){
                String value= cursor.getString(cursor.getColumnIndex("value"));
                return value;
        }
        cursor.close();

    }

我得到异常:

Couldn't read row 0, col -1 from Cursor Window.Make sure cursor is initialised correctly before accessing data from it.

当我使用:

        cursor.getString(0);

我能够得到我需要的值。

如果我使用,

       cursor.getString(cursor.getColumnIndex("value"));

我得到异常。

这是我的 table 的快照:

您创建的 Table 必须有一个名为 _id 的列。在您添加列索引为“_id”的列之前,它不会起作用。

如果您没有任何列索引为“_id”的列。从设置-> 应用程序管理器中明确卸载您的应用程序。并在添加所需列后重新运行您的应用程序。

Table 和 SQL 中的列名区分大小写。由于您的列名为 "VALUE",因此您需要 getColumnIndex("VALUE")