欢迎光临!
数据库以这种方式更新:正在更新中,我们正在努力修改此内容。
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