Från Android SQLiteDatabase-klassdokumentationen:
Kör en enda SQL-sats som INTE är en SELECT eller någon annan SQL-sats som returnerar data.
Den har inga möjligheter att returnera data (som antalet berörda rader). Istället uppmuntras du att använda insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, när det är möjligt.
Sen senare:
För UPDATE-satser, använd något av följande istället.
update(String, ContentValues, String, String[])
updateWithOnConflict(String, ContentValues, String, String[], int)
Såvitt jag kan se är execSQL
Metoden är mer för databasoperationer på högre nivå, som att skapa tabeller och ändra schema, och .query
, .update
, .delete
, etc. metoder bör användas för att ändra rader. Jag är inte säker på att du har ett annat alternativ än .update
för att utföra denna operation.