未创建一列

时间:2012-08-30 13:41:06

标签: android sqlite

你们可以看到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,意思是没有这样的列。

1 个答案:

答案 0 :(得分:0)

如果您在获取Cursor的SELECT查询中包含该列,则该列仅存在于Cursor中。

确保您的查询包含类似

的内容
SELECT favorite, .... FROM userdata