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。那么正常情