sql >> Databáze >  >> RDS >> SQLite

execSQL() s UPDATE se neaktualizuje

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.



  1. Funkce REGEXP_INSTR() v Oracle

  2. Deset hlavních důvodů pro migraci z Oracle na PostgreSQL

  3. Jak spustit více instancí MySQL na stejném počítači

  4. SQL Server ROWCOUNT_BIG()