相关文章推荐
健壮的茶壶  ·  Exception: ...·  7 月前    · 
飘逸的野马  ·  Connecting to AWS IoT ...·  8 月前    · 
活泼的小马驹  ·  Send - Syntax & Usage ...·  10 月前    · 

1、问题报错

Android 项目使用greendao库的时候,存储突然报错:

android.database.sqlite.SQLiteConstraintException: NOT NULL constraint failed: SurveyTable.PDOP (code 1299)
        at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
        at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:783)
        at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
        at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
        at org.greenrobot.greendao.a.insertInsideTx(AbstractDao.java:368)
        at org.greenrobot.greendao.a.executeInsert(AbstractDao.java:351)
        at org.greenrobot.greendao.a.insert(AbstractDao.java:319)

就是数据库里面SurveyTable表里面PDOP字段有异常。那么这个意思报错,要追寻到PDOP这个字段的定义。

2、解决办法

我看了一下数据库创建时候是:"\"PDOP\" REAL NOT NULL ," 不能为空。为空时候没有指定值。

那么修改办法是:"\"PDOP\" REAL NOT NULL default 0," 为空是0。这样就可以了。

我修改之后是这样的。就是在DAO里面修改。

再看一下下面这段代码:

这张表里面字段

"\"statue\" INTEGER NOT NULL ," 偶尔会报错,那就是因为statue没有指定默认值。

这种情况还会出现在数据升级时候,本地数据库版本6没有指定这个值,在数据库低版5本打开会报错,因为没有那个值。在升级后,以前旧版本程序是数据库低版5时候,打开高版本6就会报错。

Casuarius - Cassowary 的 Cython 绑定 求解器源代码源自 Cassowary 的 0.6 版本。 Svilen Dobrev 对其进行了修改以消除内存泄漏。 他的作品可以作为 SWIG 绑定单独找到: 原始 Cassowary 来源可从其网站获得: 他的修改在 BSD 许可下可用,而 Casuarius 整体上遵循 Cassowary 本身的许可、LGPL v2.1 或(由您选择)LGPL 的更高版本。 有关详细信息,请参阅文件 LICENSE 和 COPYING.LGPL。 请确保有 Cython 0.15.1 或更高版本才能编译此扩展模块。 它已经在 OS X(使用 llvm-gcc 4.2)和 Windows(使用 mingw)上进行了测试。 其他 Windows C++ 编译器可能会也可能不会。 请联系Enthought邮件列表< >的支持。 在SSM项目中执行一个删除用户操作时报错,遂在navicat中尝试是否可以直接删除,报如下所示错误 student表的主键是selectedcourse表的外键,当需要删除student表内的一行数据时,必须在selectedcourse表内设置该外键在删除时的属性方能实现删除。 当我想删除student表内的某行数据时,也需要删除selectedcourse表内该student的选课信息。因此设置删除时CASCAED,当取值为Cascade时,则当在父表(即外键的来源表)中删除对应记录时,首先检查该记录是否有对应外键,如果有则也删除外键在子表(即包含外键的表)中的记录。 从而实现删除s 允许使用@ const ra int 作为指令来验证输入数据。 受和OpenAPI的启发 npm install g ra phql- const ra int -directive const { const ra int Directive , const ra int DirectiveTypeDefs } = require ( 'g ra phql- const ra int -directive' ) const express = require ( 'express' ) const { ApolloServer } = require ( 'apo 由于使用了序列化的注解 SerializedName, 所以,这个对应的字段名字是需要和服务器传过来的json数据里面的字段对应,而我的这个User对象对应的JSON字段为data,你写成user就找不到了 方法:把SerializedName括号里面的user改为data就可. 今天学习将access 数据库 内容转写入 sqlite 数据库 时,出现个别数据无法输入的情况,报"NOT NULL const ra int failed ",经对照通过成功输入的数据发现,两种数据时间格式上不同,成功的是"yyyy-MM-dd",不成功的是"yyyy/MM/dd",将"/"改为"-"时,录入数据成功. E/ SQLite Database: Error inserting thumb_uri=content://media/external/images/thumbnails/3959 image_id=8474 image_uri=content://media/external/images/media/8474 orientation=36 从报错的信息看,应该是id字段出了问题。id我在这里设置成了主键自增长。但是错误信息显示我插入 数据库 时,_id=0。问题是我的 数据库 已经有了一条信息,如果再插入时,这个id 正常情况下应该自增的。现在还是0,那就有问题了。 既然知道是id出了问题,那就直接定位过去。我当时的实体类注解是这样写的,上图: id设置了主键自增长,标注上已经给了true。那么正常情