2015-11-20 87 views
0
11-20 11:20:37.147 4117-4117/com.example.ilhamsabar.cobadiet E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.example.ilhamsabar.cobadiet, PID: 4117 
    android.database.sqlite.SQLiteException: no such table: dietocd (code 1): , while compiling: SELECT * FROM dietocd 
      at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 
      at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) 
      at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) 
      at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 
      at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) 
      at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37) 
      at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) 
      at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1316) 
      at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255) 
      at com.example.ilhamsabar.cobadiet.LayoutOcd.onCreateView(LayoutOcd.java:46) 
      at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955) 
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138) 
      at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740) 
      at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501) 
      at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458) 
      at android.os.Handler.handleCallback(Handler.java:739) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5234) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:909) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:704) 
+0

如果您分享有關錯誤的更多詳情以及您認爲可能發生的原因,這將有所幫助。複製粘貼錯誤很少有效。 –

回答

1

首先,您應該提供有關您的錯誤的更多詳細信息。一些代碼,你的數據庫結構,如果它的加密與否等。

然後,你的錯誤是no such table

當您確定表名和請求被正確寫入時,此錯誤通常意味着您正在處理空的數據庫或缺少表,因爲由於某些原因創建此表失敗。

例如,我確定您對該表的第一個訪問權限是針對此表的數據庫?如果你選擇了某些東西,你會看到你沒有表格或數據。

該錯誤來自創建數據庫時的錯誤。基本上,大多數應用程序正在做的是在設備中創建一個空數據庫,然後將隨應用程序提供的內容複製到您的資產文件夾中的空白數據庫中。但是,如果在該過程中出現錯誤,則複製將被取消,並且數據庫將保持爲空。如果以編程方式創建所有數據庫,則應該表示表創建失敗。

嘗試選擇*在您的數據庫,看看是否有內容,然後檢查您的數據庫創建過程。您可能會發現您的某個表已丟失,或者創建數據庫失敗。