0
我说实话。我搞砸了sqlite的升级版,现在应用程序崩溃了,如果你从全新安装的数据库版本4升级到新版本5的应用程序,由于最后一次升级添加列xcount。该应用程序现在强制关闭,由于重复列xcount ...任何人都知道我可以解决这个问题,用户仍然可以保留那里的数据?Android sqlite重复列升级
private static final String DATABASE_NAME = "data";
private static final String DATABASE_TABLE = "data";
private static final int DATABASE_VERSION = 5;
private final Context mCtx;
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion < 2) {
db.execSQL("ALTER TABLE data ADD COLUMN prior_reminder long DEFAULT 0");
}
if (oldVersion < 3) {
db.execSQL("ALTER TABLE data ADD COLUMN is_repeating TEXT DEFAULT 'default'");
}
if (oldVersion < 5) {
db.execSQL("ALTER TABLE data ADD COLUMN xamount long DEFAULT 0");
} else {
db.execSQL("DROP TABLE IF EXISTS data");
onCreate(db);
}
}
}
我想我爱你:P – Paul 2013-04-26 00:51:19