2011-12-18 88 views
0

我創建了一個數據庫。在這個數據庫中創建3行。當我使用的Android這個數據庫中,我得到這個錯誤:錯誤。 Android

12-18 10:30:10.882: INFO/Database(477): sqlite returned: error code = 11, msg = database corruption found by source line 40107 
12-18 10:30:10.882: INFO/Database(477): sqlite returned: error code = 11, msg = database disk image is malformed 

得到這個錯誤,當我做:選擇或插入。如何解決這個錯誤?

+0

你可以發佈你的代碼創建數據庫並選擇/插入查詢 – 2011-12-18 08:44:51

回答

1

從模擬器中刪除您的應用程序,然後重新安裝它,這將創建一個新的數據庫。

編輯: 確保您有一個名爲android_metadata與列區域(文本)表,把一個字符串它(EN_US)

一個小把戲,我做的是通常在創建數據庫應用程序,我填充它,然後使用DDMS或adb(從/ data/data/mypackage/databases/nameofthedatabase)從模擬器檢索它,然後將其放入資產中。這樣我可以確定數據庫是有效的。你可以在應用程序中創建它,檢索它,然後填充它或修改它(我在linux中使用sqlitebrowser,工作很好),然後我把它放回到/ data/data/mypackage/databases/nameofthedatabase中,或資產並將其複製到那裏。

+0

我這樣做了,但我再次得到這個錯誤。我用tksqlite創建了這個數據庫(http://reddog.s35.xrea.com/wiki/TkSQLite.html)。我把數據庫放在資產中,然後使用標準代碼(DataBaseHelper)。 – Anton 2011-12-18 08:50:12

+0

我編輯了答案 – 2011-12-18 09:07:48

+0

謝謝,但我已經創建了簡單的perl腳本,爲我創建了一個數據庫。現在所有的工作:) – Anton 2011-12-18 09:22:15