Sqlite使用单个where子句更新多个值

时间:2018-03-19 05:33:44

标签: android sqlite

我想更新两列" ORDER_NetTotal"这是TEXT类型和" ORDER_TOTAL_QTY"它的类型为INTEGER,其中where条件为" DBHelper.ORDER_CONFIRM_MASTER_ID"这是主键。问题是" ORDER_TOTAL_QTY"在" ORDER_NetTotal"时更新没有更新更新查询。下面是我的代码。

 public int updateOrderQtyMaster(int deliveryId, int newQty, Float newTotalAmount) {

    Log.d("updateParameter : ", newQty + "    " + newTotalAmount);
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(DBHelper.ORDER_NetTotal, String.valueOf(newTotalAmount));
    values.put(DBHelper.ORDER_TOTAL_QTY, newQty);
    Log.d("updateDelivery", values.toString());
    try {
        return db.update(DBHelper.TBL_ORDER_CONFIRM_MASTER, values, DBHelper.ORDER_CONFIRM_MASTER_ID + " = " + deliveryId, null);
    } catch (Exception e) {
        Utility.logCatMsg("Exception in updateOrderQtyMaster Method in SQLite: " + e.getMessage());
        return 0;
    }
}

2 个答案:

答案 0 :(得分:0)

试试这个。

db.update(DBHelper.TBL_ORDER_CONFIRM_MASTER, values, DBHelper.ORDER_CONFIRM_MASTER_ID + "=?" , new String[]{String.valueOf(deliveryId)});

答案 1 :(得分:0)

进行一些更改,例如newTotalAmount包含实数,因为没有直接转换为字符串,因为nettotal不是在代码下面使用的更新然后检查它。

String.valueOf(Math.round(newTotalAmount))