0
我有一個非常惱人的問題與我的一個應用程序。當我使用遞增版本的應用程序和數據庫發佈更新時。惱人的SQLite查詢問題與Expandable Listview
上更新被觸發,舊的數據庫被刪除,新的引進,下面是對更新代碼
db.execSQL("DROP TABLE IF EXISTS table");
db.execSQL("DROP TABLE IF EXISTS android_metadata");
try {
InputStream is = getAssets().open("sqlfile");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = reader.readLine();
while(line != null){
db.execSQL(line);
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
throw new Error("Error copying database");
}
}
的擴張菜單進入這個你可以在一個國家點擊它將列出該國的所有行。問題是,在以前的版本中,這工作正常。但是當更新時,這根本不起作用,但其他所有查詢都可以正常工作。以下是相關的查詢。
protected Cursor getChildrenCursor(Cursor groupCursor) {
String countryID = Integer.toString(groupCursor.getInt(groupCursor.getColumnIndex("_id")));
SQLiteDatabase checkDB = null;
checkDB = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READONLY);
Cursor value = checkDB.rawQuery("SELECT * FROM countries WHERE open='1' AND country=?", new String[]{countryID});
//checkDB.close();
return value;
}
什麼我此刻的錯誤行爲。我想要做的就是刪除舊的並導入新的。當然這與你的建議是一樣的,但刪除臨時表 – Somk 2011-12-29 21:12:59
你正在刪除表,這是刪除其內容 – 2011-12-29 21:39:40