Z dokumentace třídy Android SQLiteDatabase:
Proveďte jeden příkaz SQL, který NENÍ SELECT nebo jakýkoli jiný příkaz SQL, který vrací data.
Nemá žádný způsob, jak vrátit žádná data (jako je počet ovlivněných řádků). Místo toho se doporučuje použít insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, pokud je to možné.
Potom později:
Pro příkazy UPDATE použijte místo toho kterýkoli z následujících.
update(String, ContentValues, String, String[])
updateWithOnConflict(String, ContentValues, String, String[], int)
Pokud mohu říci, execSQL
metoda je spíše pro databázové operace na vyšší úrovni, jako je vytváření tabulek a změna schématu, a .query
, .update
, .delete
, atd. metody by měly být použity k úpravě řádků. Nejsem si jistý, zda máte jinou možnost než .update
k provedení této operace.