Na documentação da classe Android SQLiteDatabase:
Execute uma única instrução SQL que NÃO seja um SELECT ou qualquer outra instrução SQL que retorne dados.
Ele não tem como retornar nenhum dado (como o número de linhas afetadas). Em vez disso, você é encorajado a usar insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, quando possível.
Então mais tarde:
Para instruções UPDATE, use qualquer um dos seguintes.
update(String, ContentValues, String, String[])
updateWithOnConflict(String, ContentValues, String, String[], int)
Até onde eu sei, o
execSQL
é mais para operações de banco de dados de nível superior, como criar tabelas e alterar esquema, e o .query
, .update
, .delete
, etc. métodos devem ser usados para modificar linhas. Não tenho certeza se você tem outra opção além de .update
para realizar esta operação.