SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

execSQL() com UPDATE não atualiza


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.