使用WHERE子句的SQLite更新和增量

时间:2014-03-23 07:23:13

标签: android sqlite

我正在使用SQLite,我正在使用where子句来更新数据库中的行,只有它存在且如果不存在则需要插入新行

    public long createEntry(int x, int y, String date, int Version_Zero_HoursTable_One_DateTable)
{
    /*
     * first grab the values needed to increment the database values
     * */
    String[] column = new String[]{DATE,NUM_X,NUM_Y};
    Cursor c = ourDatabase.query(HOURS_TABLE, column, date, null, null,
            null, null);    
    int current_x =0;
    int current_y  = 0;
    int iX = c.getColumnIndex(NUM_X);
    int iY = c.getColumnIndex(NUM_Y);
    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
        current_Y += c.getInt(iY);
        current_X += c.getInt(iX);
    }
    ContentValues cv = new ContentValues();
    cv.put(NUM_X, x + current_X);
    cv.put(NUM_Y, y + current_Y);
    cv.put(DATE, date);
    String WHEREargs = DATE+"="+date;
    if(Version_Zero_HoursTable_One_DateTable == 0)
    {
    return ourDatabase.update(HOURS_TABLE, cv, WHEREargs, null);
    //return ourDatabase.insert(HOURS_TABLE, null, cv);
    }
    else
    {
        return ourDatabase.update(HOURS_TABLE, cv, WHEREargs, null);
        //return ourDatabase.insert(DATE_TABLE, null, cv);
    }
}

1 个答案:

答案 0 :(得分:0)

我无法编译因为我正在打电话。 我认为你可以运行2个脚本 首先你可以运行Update **这没有问题因为如果行不存在则没有**

其次你可以使用where子句关于行的子句不存在来插入脚本

当我回家时,如果你不写,我可以写脚本,

你能看一下这个链接吗? INSERT IF NOT EXISTS ELSE UPDATE?