未在SQLite Android中创建列

时间:2016-03-17 14:23:16

标签: android sqlite

在添加新列时,我注意到一些特殊的东西:它没有被创建。所以我到处都运行日志,但仍然找不到问题。

text

返回

Log.d("DBInfo", "Columns created: " + Arrays.toString(cursor.getColumnNames()));

什么时候应该返回

的内容
/DBInfo: Columns created: [_id, note_title, note_content]

DBHelper.class

/DBInfo: Columns created: [_id, note_title, note_content, alarm_set]

程序员悲伤而又令人兴奋的生活:我不知道问题是什么,我不知道为什么它不起作用。

1 个答案:

答案 0 :(得分:1)

事情就是这样,因为你没有增加数据库版本,当安装时不会传递onUpgrade方法,可能你应该测试以前的版本来进行适当的升级:

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  if (oldVersion == 1 )
      // proper upgrade
      db.execSQL("DROP TABLE IF EXISTS " + TABLE);
  onCreate(db);
}

请记住增加DB_VERS以进行任何数据库更改。