0

我有一张桌子

CREATE TABLE rss (_id INTEGER PRIMARY KEY AUTOINCREMENT, title text, body text, img_url text);

我用以下代码编写项目:

public void writeRssModel(ArrayList<RssModel> items){
    SQLiteDatabase db = getWritableDatabase();
    for (RssModel model : items){
         try {
             ContentValues cv = new ContentValues();
             cv.put(DBConst.BODY, model.getBody());
             cv.put(DBConst.IMG_URL, model.getImgUrl());
             cv.put(DBConst.TITLE, model.getTitle());
             db.insert(DBConst.TABLE, null, cv);
         }catch (Exception e){
             e.printStackTrace();
         }
     }
}

当我重用此代码时,行重复;我无法删除项目,因为它在后台线程中工作,并且在 UI 线程中,此表上有一个实时光标。我需要更新行。

4

1 回答 1

1

您应该声明title text uniquedb.insertWithOnConflict(DBConst.TABLE, null, cv, SQLiteDatabase.CONFLICT_IGNORE);

于 2013-03-06T20:37:17.637 回答