Z dokumentacji klasy Android SQLiteDatabase:
Wykonaj pojedynczą instrukcję SQL, która NIE jest SELECT ani żadną inną instrukcją SQL, która zwraca dane.
Nie ma możliwości zwrócenia żadnych danych (takich jak liczba wierszy, których dotyczy problem). Zamiast tego zachęcamy do używania insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, jeśli to możliwe.
Potem później:
W przypadku instrukcji UPDATE użyj dowolnego z poniższych.
update(String, ContentValues, String, String[])
updateWithOnConflict(String, ContentValues, String, String[], int)
O ile wiem, execSQL
metoda jest bardziej dla operacji na bazach danych wyższego poziomu, takich jak tworzenie tabel i zmiana schematu oraz .query
, .update
, .delete
, itp. do modyfikacji wierszy należy użyć metod. Nie jestem pewien, czy masz inną opcję niż .update
aby wykonać tę operację.