歡迎光臨!
數據庫以這種方式更新:正在更新中,我們正在努力修改此內容。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (newVersion > oldVersion) {
Log.e("TAG", "New database version exists for upgrade.");
try {
Log.e("TAG", "Copying database...");
copyDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
的問題是,我有一個表統計的數據庫,我想爲了在這個表中的數據複製到新的數據庫。
我該怎麼辦?請求一個例子。
對我可憐的英語感到遺憾和遺憾。
我試着這樣做:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (newVersion > oldVersion) {
Log.e("TAG", "New database version exists for upgrade.");
db.beginTransaction();
try {
Log.e("TAG", "Copying database...");
this.getReadableDatabase();
ArrayList<Statystyka> statystyki = getAllStatistic();
copyDataBase();
for (int i = 0; statystyki.size() >= i; i++) {
addStat(statystyki.get(i).getId_pytania(),
statystyki.get(i).getIlosc_rozwiazan(), statystyki
.get(i).getIlosc_poprawnych(), statystyki
.get(i).getIlosc_blednych());
}
db.setTransactionSuccessful();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.endTransaction();
}
}
但我得到的錯誤:
java.lang.IllegalStateException:getReadableDatabase遞歸調用
如何打開數據庫加載數據?
我已經知道如何添加新列,現在將新表填充爲舊數據? – kurdak