0

我有一个案例,如果我的更新查询由于数据库中没有现有数据而失败。然后,如果数据库中不可用,我想插入新记录。我到处搜索,但是,根据我的源代码,我没有得到解决方案。找到下面的代码并告诉我解决方案。提前谢谢老哥。

 SQLiteDatabase db = this.getWritableDatabase();
     ContentValues values = new ContentValues();
     values.put(PAGENUM, stepaObj.getPageno());
     values.put(SCORE, stepaObj.getScore());
     values.put(FIR, stepaObj.getFir());
     values.put(PENALTY, stepaObj.getPenalty());
     values.put(PUTTS, stepaObj.getPutts());
     values.put(PLAYED, stepaObj.getPalyed());
     values.put(SCORECARDID, stepaObj.getScorecardid());
     values.put(ISUPDATE, stepaObj.getIsupdate());

     int result = db.update(TABLE_SCORECARD_STEPA, values, SCORECARDID+" = ?",
                new String[] { String.valueOf(scorecardID)});

     System.out.println("updateScore by API data = "+result);

     db.close(); 
4

1 回答 1

4

如果更新失败,则结果将为 0(结果:受更新影响的行数)

int result = db.update(TABLE_SCORECARD_STEPA, values, SCORECARDID+" = ?",
            new String[] { String.valueOf(scorecardID)});

if(result <= 0){

     result = db.insert(TABLE_SCORECARD_STEPA, null values);

}
于 2014-06-25T10:29:49.990 回答