Вы создали очень сложный оператор SQL, но он должен быть намного проще:
String query =
"UPDATE " + TABLE_PRODUCT +
" SET " + COLUMN_PRODUCT_QUANTITY + " = " + COLUMN_PRODUCT_QUANTITY + " + " + amount +
" WHERE " + COLUMN_PRODUCT_BARCODE_NUMBER + " = '" + barcode + "'";
Вам не нужно дважды искать таблицу, чтобы получить значение, которое вы хотите обновить.Также значение переменной штрих-кода должно быть заключено в одинарные кавычки, так как это строка.Если есть случай, когда значение столбца COLUMN_PRODUCT_QUANTITY
равно NULL
, то вы должны использовать coalesce()
:
String query =
"UPDATE " + TABLE_PRODUCT +
" SET " + COLUMN_PRODUCT_QUANTITY + " = coalesce(" + COLUMN_PRODUCT_QUANTITY + ", 0) + " + amount +
" WHERE " + COLUMN_PRODUCT_BARCODE_NUMBER + " = '" + barcode + "'";