我试图获得一个与SugarORM一起使用的Android项目。但是,我遇到以下错误:
引起原因:android.database.sqlite.SQLiteException:无此类表:DOCUMENT(代码1):,而在编译时:INSERT或REPLACE INTO DOCUMENT(ID,CREATED)值(?,?)
################################################ ###############
错误代码:1(SQLITE_ERROR)
引起原因:SQL(query)错误或数据库丢失。
(没有这样的表:DOCUMENT(代码1):,而在编译时:插入或替换为DOCUMENT(ID,CREATED)值(?,?))
################################################ ###############
在我的AndroidManifest中,我在应用程序中定义了android:name="com.orm.SugarApp"
-标签并包含
<meta-data android:name="DATABASE" android:value="idea.db" />
<meta-data android:name="VERSION" android:value="1" />
也作为子标签。我已移除
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
从example开始,因为它们没有任何改变(and others had success in removing them)。我尝试先查询数据库(使用findById)以“强制创建表”,如this post中所述。此外,我尝试做类似的事情
SugarDb sugarDb = new SugarDb(getApplicationContext()); new
File(sugarDb.getDB().getPath())
如here所述。但这也会出错。此外,我已经禁用了InstantRun-Feature,如一些帖子和此处(Sugar ORM No such table exception)所述。
谁能为我指出正确的方向,如何摆脱“错误或缺少数据库”错误?
最佳答案
您确定<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.example" />
不会更改任何内容吗?您的链接支持似乎没有到达正确的位置。无论如何,请按照示例操作,直到问题解决为止,然后再担心可以解决的问题!
您不需要查看数据库文件,也不必确定为什么要包含它。
您的Document类是否扩展SugarRecord?否则,将不会创建该表。
通常,我认为您应该尝试从头开始重新运行“入门”,而无需在此过程中对代码进行任何修改。
关于android - SugarORM错误或缺少数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38292116/