0
我在我的android應用程序中使用ormlite for sqlite數據庫。這是一個基於登錄的應用程序,我有SD卡中的數據庫。對於用戶abc,要求是用戶使用xyz等不同用戶登錄,然後應用程序從服務器驗證用戶,服務器將用戶xyz的db替換爲db。但是,當我試圖訪問登錄憑證時,它會在數據庫反映新憑證時給出舊憑證。在ormlite中獲取舊的Dao對象
我也試過:
DaoManager.clearCache();
這是不是也工作我想:
DatabaseManager<DatabaseHelper> manager = new DatabaseManager<DatabaseHelper>();
manager.releaseHelper(DatabaseHelperGenerator.getDataBaseHelperInstance())
在此之後,當我試圖觸發此查詢:
Dao<LoginAuthentication, Integer> loginAuthenticationDao = null;
DatabaseHelperGenerator.getDataBaseHelperInstance().
clearLoginDao(LoginAuthentication.class);
loginAuthenticationDao = DatabaseHelperGenerator.getDataBaseHelperInstance().
getUserDao(LoginAuthentication.class);
List<LoginAuthentication> loginAuthenticationList =
loginAuthenticationDao.queryForAll();
這是給IllegalStateException :Database not open
尋求幫助。
對不起哥們。因爲我在休假幾天,將無法訪問網絡。任何方式感謝您的答覆。最初我無法弄清楚問題所在。問題是相同的,在這個鏈接中的kagii建議http://stackoverflow.com/questions/2493331/what-is-best-practice-with-sqlite-and-android但仍面臨同樣的問題,每一件事進行得很好,但值不插入表中。我使用每個線程建議的單個連接,但問題仍然相同。 –
Np。我認爲你應該調試它,並且在插入發生後,使用adb shell工具來查看數據庫:http://developer.android.com/guide/developing/tools/adb.html搜索檢查sqlite3數據庫遠程外殼。 – Gray
我使用eclipse,我調試它在createAndUpdate方法中的代碼,並且還顯示受影響的行號與預期的相同,但問題是當我在sqlite瀏覽器中打開數據庫時db仍然爲空 –