我有一个案例,如果我的更新查询失败,因为数据库中没有现有数据。然后,我想插入新记录,如果在数据库中已经不可用。我到处搜索,但是,根据我的源代码,我没有得到解决方案。找到下面的代码并告诉我解决方案。谢谢先生。
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();
答案 0 :(得分:3)
如果更新失败,则结果将为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);
}