I am using SQLite and i am using a where clause to update a row in the database only if it exists and if it does not it needs to insert a new row
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);
}
}