gpt4 book ai didi

android - 如何升级sqlite数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 20:57:16 26 4
gpt4 key购买 nike

我的应用程序中有一个存储高分的 sqlite 数据库。我最近添加了一个新列(级别)并且需要升级数据库,否则应用程序会崩溃。如果我手动删除 .db 文件工作正常。我试图增加数据库版本但没有用。那怎么办呢?

这是我的 sqlite 助手类:

public class DataBaseHelper extends SQLiteOpenHelper{

public static final String TABLE_HISCORES = "hiScores";
static final String RANK = "_id";
static final String NAME = "name";
static final String SCORE = "score";
static final String LEVEL = "level";
private static final String DATABASE_NAME = "scoresdb.db";
private static final int DATABASE_VERSION = 1;
SQLiteDatabase db;

private static final String DATABASE_CREATE = "CREATE TABLE " + TABLE_HISCORES + " ("
+ RANK + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ NAME + " TEXT, "
+ LEVEL + " TEXT, "
+ SCORE + " INTEGER );";
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.w(DataBaseHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_HISCORES);
onCreate(db);


}

需要添加/更改什么?

最佳答案

您可以在 SQLite 查询浏览器 (http://sourceforge.net/projects/sqlitebrowser/) 中打开 SqLite 数据库并在其中添加列。在此处添加列后,您可以将项目中使用的 .db 文件替换为添加了新列的文件。

希望对您有所帮助!

关于android - 如何升级sqlite数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16506216/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com