我现在在android中设置了数据库。数据库和表工作正常。但是,当我想添加一个新表并使用onUpgrade时-创建了数据库,但是无法正常工作。正如表中看起来已创建,但我无法向其中添加数据。当我尝试应用崩溃时。所有版本1的表格仍然看起来不错。
这是我的onUpgrade的样子:
private val newDatabase = listOf<String>(
"Database1"
)
override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
newDatabase.forEach{
val table2 = "CREATE TABLE $it ($ID INTEGER PRIMARY KEY, $AVERAGETIME TEXT DEFAULT \"0\",$DATE TEXT DEFAULT \"0\")"
db?.execSQL(table2)
}
}
我的oncreate看起来完全一样,只是使用了不同的字符串数组:
override fun onCreate(db: SQLiteDatabase?) {
originalDatabase.forEach {
val table1 =
"CREATE TABLE $it ($ID INTEGER PRIMARY KEY, $AVERAGETIME TEXT DEFAULT \"0\",$DATE TEXT DEFAULT \"0\")"
db?.execSQL(table1)
}
}
这是添加新表的最佳方法吗?制成表格后,它似乎空白,无法正常工作。即使我已为其设置默认值。
我尝试浏览其他帖子,但似乎找不到一个具体答案