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")
我正在尝试从 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")