我有一些奇怪的行爲。 如果數據庫中不存在的,我在我的活動執行以下代碼:數據庫已存在時創建新表的問題
listOpenHelper = new ListOpenHelper(ManageListActivity.this);
db = listOpenHelper.getReadableDatabase();
Cursor cursor = db.query(ListOpenHelper.TABLE_NAME, null, null, null, null, null, BaseColumns._ID + " DESC");
該數據庫在這裏創建並創建表列表,沒有問題。
問題是,當我嘗試在其他活動來執行一個類似的塊:
productListOpenHelper = new ProductListOpenHelper(ProductListActivity.this);
db = productListOpenHelper.getReadableDatabase();
Cursor cursor = db.query(ProductListOpenHelper.TABLE_NAME, null, null, null, null, null, ProductListOpenHelper.NAME + " ASC");
在這種情況下,我得到的例外「android.database.sqlite.SQLiteException:沒有這樣的表:表:,同時編譯:SELECT * FROM list ORDER BY _id DESC「
如果我刪除數據庫並執行第一個上述塊,並在第一個塊之後,錯誤將在productlist表中。
我需要在第一次執行中創建所有我的表? 我喜歡在用戶輸入每個活動時創建表格,有一些很好的方法可以做到這一點?
謝謝!
每次用戶打開另一個活動時,爲什麼要刪除並重新創建表格?數據庫的全部目的是......存儲數據。 – Jack
我沒有刪除並重新創建,我創建了一次,問題是當我嘗試在現有數據庫中創建另一個表時。 –