如何在sqlite中添加带有数据库值的外部值

时间:2018-02-21 23:28:20

标签: sqlite android-studio

在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的新手请帮助

1 个答案:

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