sqlite中插入数据无效

在使用insert(table, nullColumnHack, values)向数据库插入数据时,出现插入数据无效。

数据库代码:(ID为主键)

public static void insert(Photo photo) {
   ContentValues cv = new ContentValues();
   cv.put(ID, photo.getId());
   cv.put(PATH, photo.getPath());
   cv.put(TIME, photo.getTime());
   DBHandler.getInstance().insert(TABLE_NAME, null, cv);
}
DBHandler.getInstance().insert中的代码为:

public void insert(String table, String nullColumnHack, ContentValues values) {
    getDatebase().insert(table, nullColumnHack, values);
}

调用的代码

Photo bean = new Photo();
bean.setPath(path);
bean.setTime(time);

失败原因:bean没有setId();而id是主键,如果在没有主键的情况下,

insert(table, nullColumnHack, values)

方法会造成插入失败。

不管第三个参数是否包含数据,执行Insert()方法必然会添加一条记录,如果第三个参数为空,会添加一条除主键之外其他字段值为Null的记录,


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值