android - SugarORM错误或缺少数据库

标签 android sqlite orm sugarorm

我试图获得一个与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/

相关文章:

php - 与 Doctrine Symfony 的条件关系

php - Symfony2 Doctrine2 - 根据原则 :mapping:import 从现有数据库生成一对多注释

android - 无法从小米设备的后台唤醒应用程序,直到手动启用 "Autostart"

java - 如何在 Android 上管理位图的内存?

android - 使用 deeplearning4j 加载 keras 模型时出错

c# - NHibernate + SQLite,对象图加载时间过长

单击特定应用程序图标时 Android 启动应用程序

java - 尝试使用 jdbc 元数据获取列的列大小

android - 如何在 Android 应用程序中执行 SQLite 查询?

java - 如何编写JPA查询