我正在Android上构建应用。我想要做的是在数据库中的先前值中加1。
数据库中列得分的值为200。
SQLiteDatabase db = database.getWritableDatabase();
int resultRows = 0;
values = new ContentValues(1);
values.put(DBContract.Countries.SCORE, DBContract.Countries.SCORE + " + 1");
resultRows = db.update(DBContract.Countries.TABLE_NAME, values, DBContract.Countries.ISO + " = ?", selectionArgs);
实际输出为SCORE + 1
而不是201.所以它将其作为String
而不是添加它。有没有人有任何想法?
答案 0 :(得分:2)
您可以使用ContentValues
仅提供文字值。
对于SQL表达式,请使用带有execSQL()
的原始SQL:
db.execSQL("UPDATE " + DBContract.Countries.TABLE_NAME + " SET " +
DBContract.Countries.SCORE + "=" + DBContract.Countries.SCORE + " + 1 " +
"WHERE " + DBContract.Countries.ISO + " = ?", selectionArgs);