От документацията на класа на Android SQLiteDatabase:
Изпълнете единичен SQL оператор, който НЕ е SELECT или друг SQL оператор, който връща данни.
Той няма средства за връщане на никакви данни (като броя на засегнатите редове). Вместо това се насърчаваме да използвате insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, когато е възможно.
След това по-късно:
За изрази UPDATE използвайте някое от следните вместо това.
update(String, ContentValues, String, String[])
updateWithOnConflict(String, ContentValues, String, String[], int)
Доколкото мога да преценя, execSQL
методът е повече за операции с база данни от по-високо ниво, като например създаване на таблици и промяна на схема, и .query
, .update
, .delete
, и др. трябва да се използват методи за промяна на редове. Не съм сигурен, че имате друга опция освен .update
за да извършите тази операция.