0

你们能看出 db 表创建语句有什么问题吗?

CREATE TABLE userdata(_id INTEGER PRIMARY KEY AUTOINCREMENT,title TEXT, login TEXT, password TEXT, notes TEXT, favorite INTEGER DEFAULT 0);

我使用这个字符串来创建一个数据库表:

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,意思是没有这样的专栏。

4

1 回答 1

0

SELECT仅当您在从中获取游标的查询中包含该列时,该列才会出现在您的游标中。

确保您的查询包括类似

SELECT favorite, .... FROM userdata
于 2012-08-30T13:56:38.133 回答