在android studio中,我想从编辑文本中取一个值并将其放在数据库中,当我从编辑文本中输入另一个值时,它会将其添加到第一个值。就像我把50,然后我把25,在数据库中它将包含75
我正在使用此代码更新数据库中的值
public boolean addvalue(long rowId, String newAmt) {
String where = "KEY_ROWID" + "=" + rowid;
SQLiteDatabase db = myDBHelper.getWritableDatabase();
ContentValues newValues = new ContentValues();
newValues.put(KEY_PROG, newAmt);
return db.update(DATABASE_TABLE, newValues, where, null) !=0;
}
当我尝试运行时,更新确实适用,它只是用后者替换前者,我仍然是android studio和sqlite的新手请帮助
答案 0 :(得分:0)
ContentValues
个对象只处理普通值。
为了能够进行计算,您必须改为使用https://console.bluemix.net/docs/services/cloud-object-storage/iam/service-credentials.html#service-credentials:
db.execSQL("UPDATE "+DATABASE_TABLE+
" SET "+KEY_PROG+"="+KEY_PROG+"+?"+
" WHERE "+KEY_ROWID+"=?",
new Object[]{ newAmt, rowId });
execSQL()
不返回任何内容,因此如果您确实需要更新的行数,则必须使用单独的execSQL():
return DatabaseUtils.longForQuery(db, "SELECT changes()", null) > 0;