O_Casper_ne 2013-05-07 02:54 采纳率: 7.7%
浏览 14594
已采纳

如何避免插入重复的数据到SQLite数据库中?

当通过账号登陆时,我从服务器中获取联系信息,我把这些信息储存在SQLite中,当用户第二次登录时,我不希望再次插入 SQLite 数据库中重复的联系信息。
我使用的下面的代码,但是没有成功:

boolean exist= contact_db.CheckItem(entry.getUser());               
if(!exist) {
 // insert
}else {
 // don't insert
}

DB class:

Cursor mCursor = database.query(ContactsDB.TABLE_CONTACTS, allColumns,
                    ContactsDB.CONTACT_USERID + "= ' " + name +"'" , null, null, null, null);
    if (mCursor != null && mCursor.moveToFirst()) 
        return false;
    else return true;

如何避免第二次登录时,插入重复的数据到SQLite数据库中?

  • 写回答

3条回答

  • ctmb520 2013-05-30 06:43
    关注

    新建唯一索引: CREATE UNIQUE INDEX mycolumn_index ON mytable (myclumn);
    第二步:调用replace into语句 (本句是存在则更新意思)
    如果以上不是你想要的,还可以看看,客户端软件有没有窗口的生命周期,第一次登陆时触发的事件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程