你们可以看到db表创建语句有什么问题吗?
CREATE TABLE userdata(_id INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT, login TEXT, password TEXT, notes TEXT, favorite INTEGER DEFAULT 0);
我使用此String创建数据库表:
public static final String CREATE_DATABASE = "CREATE TABLE " + TABLE_NAME
+ "(_id INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_NAME_TITLE + " TEXT, "
+ COLUMN_NAME_LOGIN + " TEXT, " + COLUMN_NAME_PASSWORD + " TEXT, " + COLUMN_NAME_NOTES
+ " TEXT, " + COLUMN_NAME_FAV + " INTEGER DEFAULT 0);";
db.execSQL(CREATE_DATABASE);
但毕竟我没有表中的最新(COLUMN_NAME_FAV)列,我不明白为什么。我在这里检查:
c.getColumnIndex(COLUMN_NAME_FAV);
返回-1
,意思是没有这样的列。
答案 0 :(得分:0)
如果您在获取Cursor的SELECT
查询中包含该列,则该列仅存在于Cursor中。
确保您的查询包含类似
的内容SELECT favorite, .... FROM userdata