public insertData ()
{
if (null != data)
{
ContentValues newValues = new ContentValues();
newValues.put(IShoppingCartDataBaseObserver.KEY_PRODUCTCODE, data
.getString(IShoppingCartDataBaseObserver.KEY_PRODUCTCODE));
newValues.put(IShoppingCartDataBaseObserver.KEY_PRODUCT_NAME, data
.getString(IShoppingCartDataBaseObserver.KEY_PRODUCT_NAME));
newValues
.put(IShoppingCartDataBaseObserver.KEY_PRODUCT_PRICE,
data.getString(IShoppingCartDataBaseObserver.KEY_PRODUCT_PRICE));
Config.getInstance().getDBHelper()
.doInsert(DBHelper.TABLE_PRODUCT, newValues);
}
}
每次执行insert操作就会出现这个错误,其实是因为我之前创建表的时候所有字段定义为 text not null,而现在只插入了3个字段的数据,其他都为空,所以出现了约束错误
当我把其他的字段not null 去掉之后,还是会报这个错,纠结了好长时间不得其果,最后直接在adb shell 下 rm databases,直接删除了数据库重新运行就对了
是什么原因你懂得
本文探讨了在尝试使用SQLite数据库进行数据插入时遇到的空值约束错误,并分享了一种有效的解决方案:通过调整数据库表的设计及手动删除并重建数据库来避免空值引起的约束错误。
3726

被折叠的 条评论
为什么被折叠?



