2011-07-20 77 views
3

ISSUE(logcat的)android.database.sqlite.SQLiteException:沒有這樣的表

源碼返回:錯誤代碼= 1,味精=沒有這樣的表...

android.database。 sqlite.SQLiteException:沒有這樣的表:....

CODE

public void onCreate(SQLiteDatabase db) { 
    Log.v("SQLAdapter","onCreate(SQLiteDatabase db)"); 
    db.execSQL("CREATE TABLE "+tablename 
      +" (" 
      +col1+ " TEXT PRIMARY KEY , " 
      +col2+ " TEXT , " 
      +col3+ " TEXT , " 
      +col4+ " TEXT , " 
      +col5+ " TEXT , " 
      +col6+ " TEXT , " 
      +col7+ " TEXT , " 
      +col8+ " TEXT " 
      +")"); 
    db.execSQL("CREATE TABLE "+configTable 
      +" (" 
      +colName+ " TEXT PRIMARY KEY , " 
      +colValue+ " TEXT " 
      +")"); 

    ContentValues cv=new ContentValues(); 
    cv.put(colName, "updated"); 
    cv.put(colValue, "-1"); 
    db.insert(configTable, colName, cv); 
} 

結果

正在創建configTable

tablename還沒有被創建

+0

'tablename'的值在哪裏?我在你的代碼中看不到它。另外,你的代碼從來沒有試過訪問'tablename',那麼會拋出錯誤? –

+0

忘記訪問它..當我通過ddms獲取sqlite文件時,我發現configTable已創建,但表名不存在 –

+0

您是否嘗試在表名中插入某些內容?你應該會收到一個異常。你會在這裏複製/粘貼嗎? – Shlublu

回答

10

簡單地更改數據庫類你DATABSE名字你實現並採用SQliteDatabase

同樣的問題,我面臨,解決使用相同的伎倆。

+0

我不能再測試它了,因爲我決定在我的任何項目中不使用SQL。如果有人測試這個,並且它變成了錯誤,請告訴我。目前! +1並勾選。真的很感謝 –

+0

這裏發生了同樣的情況。我有3個類(「X」DbHelper)從具有數據庫名稱的BaseDBHelper繼承。我已經完成了你所說的,現在它可以工作...... 非常疏遠,不是嗎? – cesards

+0

@ m3n0R很奇怪。我知道我通過爲每個表創建一個SQL類來解決這個問題!但現在我正在看這個答案和反饋。似乎他得到了正確的解決方案。 –

0

同樣的問題。通過刪除掉使用ADB命令

adb shell rm /data/data/xxx.db

1

我有同樣的異常,而在真實設備上測試所創建的老xxx.db解決問題。在向我的數據庫添加新表後,我不得不從設備上卸載較舊的應用程序版本。只有再次調用SQLiteOpenHelper子類中的onCreate()方法。

0

「沒有這樣的表」問題解決了!

當您使用database.db時,Android還會使用android_metadata表創建另一個名爲database(不帶擴展名)的文件。

最後,我解決只是改變 DB_NAME = 「mydb的」 與 DB_NAME = 「mydb.db」

0

我也面臨了 「沒有這樣的表」 的問題。這不是數據庫或表的問題,而是來自您的應用程序。

只要你重新安裝我們的應用程序,一切都應該沒問題。

相關問題