可能重複:
Android Sqlite - 「No Such Table」 ErrorSQLite的例外:沒有這樣的表錯誤
我們正在努力開發在Android上的應用程序。我們正在使用SQLite數據庫,並在手機上我們得到
SQLiteException:沒有這樣的表。
它在模擬器上工作正常。
任何人都可以提供任何輸入?
可能重複:
Android Sqlite - 「No Such Table」 ErrorSQLite的例外:沒有這樣的表錯誤
我們正在努力開發在Android上的應用程序。我們正在使用SQLite數據庫,並在手機上我們得到
SQLiteException:沒有這樣的表。
它在模擬器上工作正常。
任何人都可以提供任何輸入?
如果您沒有正確指定數據庫文件名,我相信它會回落到創建一個空數據庫。這通常是'表未找到'的原因。檢查你的路徑和數據庫文件名。
有些人已經能夠使用here提到的步驟解決問題。在我看來,這個問題存在於某些版本的Android 2.2上。我在代碼中加入了這個改變,儘管我仍然在尋找Beta測試者來看看它是否真正起作用。
我曾遇到過同樣問題的不同味道。
我在嘗試插入時遇到了no such table
錯誤。
之前插入的代碼在調用
mDb = mDbHelper.getWritableDatabase();
getWritableDatabase()
,當所謂的第一次會叫onCreate()
我有我的SQL查詢到這個onCreate方法
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
Log.v("INFO1","creating db");
//Toast.makeText(mCtx, "created", Toast.LENGTH_SHORT).show();
}
內創建表
所以對我來說,發生了什麼事,db
成功創建時,應用程序第一次運行BU由於一些其他錯誤,沒有表格。 稍後,無論何時運行應用程序,onCreate()
都不會被調用,因爲db
已經存在,因此沒有創建表,因此所有其他SQL命令都失敗。
所以我感動創建表出來onCreate()
,而現在它的工作
你有一個乾淨的模擬器運行的代碼?你是否還證實創建表的代碼正在執行?接下來的步驟是將sqlite db關閉,並使用sqlite數據庫瀏覽器查看它以檢查表是否確實存在。 – hacken 2009-06-01 17:31:24
嗨!我已經創建了一個數據庫,只是使用已經創建的數據庫,所以表已經創建好了。我只是在現有的表上做SELECT。我關心的是它在模擬器上正常工作,而不是在電話上 – 2009-06-02 03:57:37
你確認表格在那裏嗎?桌子不在電話上的可能性比選擇不工作的可能性要大得多。再次驗證您的數據庫是否正確創建非常簡單。 – hacken 2009-06-02 04:44:48