我想在我的Android應用程序中更新我的數據庫。當我更新版本號時,onUpgrade被調用,但版本號不會增加,所以每次訪問數據庫時,都會調用onUpgrade。這裏是我的代碼:onUpgrade數據庫Android版本號不增加
private final static int DB_VERSION = 8;
public DataBaseHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
this.myContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(TAG, "in onCreate");
try {
copyDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d(TAG, "in onUpgrade. Old is: " + oldVersion + " New is: " + newVersion);
myContext.deleteDatabase(DB_NAME);
Log.d(TAG, "the version is " + db.getVersion());
db.setVersion(newVersion);
Log.d(TAG, "the version is " + db.getVersion());
onCreate(db);
}
任何人都知道爲什麼會發生這種情況?
也許thil鏈接可能會有所幫助http://stackoverflow.com/questions/7173896/onupgrade-database-oldversion-newversion –
我已經看過這個鏈接...我仍然無法弄清楚。即使數據庫版本號是靜態的,版本號也不會在onUpgrade()中升級。 OnUpgrade被調用,但版本號沒有得到更新... – coder
當onUpgrade被調用時,oldVersion和newVersion的值是什麼? –