相关疑难解决方法(0)

困惑:SQLiteOpenHelper onUpgrade()如何表现?和导入旧的数据库备份一起?

假设我在SQLiteOpenHelper中有一个包含2列的数据库表test_table和相应的创建脚本:

DB_VERSION = 1:
public void onCreate(SQLiteDatabase db)
{
db.execSql("CREATE table test_table (COL_A, COL_B);
}
Run Code Online (Sandbox Code Playgroud)

这是最初的应用版本1,发布在Play商店中.

过了一会儿,应用程序和使用的数据库都有更新.我想SQLiteOpenHelper类必须像这样调整:

DB_VERSION = 2:
public void onCreate(SQLiteDatabase db)
{
db.execSql("CREATE table test_table (COL_A, COL_B, COL_C)");
}

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSql("ALTER TABLE test_table ADD Column COL_C");
}
Run Code Online (Sandbox Code Playgroud)

一段时间后,另一个应用更新:

DB_VERSION = 3:
public void onCreate(SQLiteDatabase db)
{
db.execSql("CREATE table test_table (COL_A, COL_B, COL_C, COL_D)");
}

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSql("ALTER TABLE test_table ADD Column COL_D"); …
Run Code Online (Sandbox Code Playgroud)

import android export sqliteopenhelper

27
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

export ×1

import ×1

sqliteopenhelper ×1