當通過賬號登陸時,我從服務器中獲取聯系信息,我把這些信息儲存在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數據庫中?
新建唯一索引: CREATE UNIQUE INDEX mycolumn_index ON mytable (myclumn);
第二步:調用replace into語句 (本句是存在則更新意思)
如果以上不是你想要的,還可以看看,客戶端軟件有沒有窗口的生命周期,第一次登陸時觸發的事件