2015-11-20 23 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

当您确定表名和请求被正确写入时,此错误通常意味着您正在处理空的数据库或缺少表,因为由于某些原因创建此表失败。

例如,我确定您对该表的第一个访问权限是针对此表的数据库?如果你选择了某些东西,你会看到你没有表格或数据。

该错误来自创建数据库时的错误。基本上,大多数应用程序正在做的是在设备中创建一个空数据库,然后将随应用程序提供的内容复制到您的资产文件夹中的空白数据库中。但是,如果在该过程中出现错误,则复制将被取消,并且数据库将保持为空。如果以编程方式创建所有数据库,则应该表示表创建失败。

尝试选择*在您的数据库,看看是否有内容,然后检查您的数据库创建过程。您可能会发现您的某个表已丢失,或者创建数据库失败。