如果在sqlite android中更新查询失败,如何插入记录

时间:2014-06-25 10:19:37

标签: android sqlite android-query

我有一个案例,如果我的更新查询失败,因为数据库中没有现有数据。然后,我想插入新记录,如果在数据库中已经不可用。我到处搜索,但是,根据我的源代码,我没有得到解决方案。找到下面的代码并告诉我解决方案。谢谢先生。

 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(); 

1 个答案:

答案 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);

}