我的greendao是3.2.0的 今天新加了个bean, 和往常一样加注释编译, 但就是说找不到表no such table
解决方式 :
很简单, 只需要把gradle里面的greendao的版本号改一下就可以了
android {
.......
buildTypes {
.....
greendao {
//这里由1改成了2, 只认正整数
schemaVersion 2
我的greendao是3.2.0的 今天新加了个bean, 和往常一样加注释编译, 但就是说找不到表no such table解决方式 :很简单, 只需要把gradle里面的greendao的版本号改一下就可以了android { ....... buildTypes { ..... greendao { //这里由1
网上搜了各种方法:卸载重新安装、升级本地库版本 都无效,最终解决办法如下(https://www.icode9.com/content-2-652100.html),mark一下
CashierDBHelper helper = new CashierDBHelper(this, "main.db");
SQLiteDatabase db = helper.getWritableDatabase();
//在初始化greenDao的地方加上这一行
db.disableWriteAheadLogging.
出现这个异常是因为没有找到表,没有找到表的原因是之前的表已经建好了,而新增的表需要重新初始化数据库才可以建好,所以只需要把schemaVersion 改变一下版本号,重新sync运行一下就可以重新生成表了,另外修改表中字段都需要重新初始化数据库才会生效。
greendao{
//数据库版本
schemaVersion 2
daoPackage 'com.android.p...
使用greenDao过程中,新建了一个数据类Person并标注@Entity,然后框架自动生成了PersonDao,我使用这个Dao类来对Person表进行操作,然后安装到手机上后报了这个错。
报错信息说没有这个表,这让我非常郁闷,难道每次应用启动的时候框架不会自动检查所有数据表,把新建的数据类映射到数据库中吗?实践证明是不会的,只有应用第一次安装的时候才会在数据库中新建这些表,之后再在
已经有一个可以用的表了
这个时候创建了新的表,点了锤子后产生了新的 dao
使用新的表去查询和插入数据, 提示没有 SQLiteException: no such table:(新的表)
表没有初始化,并且这个初始化是在代码中解决不了的
ctrl+alt+sheift+a
用第六个操作,用ADB清楚本地数据,然后 初始化 数据库就能成功。