Aus der Android SQLiteDatabase-Klassendokumentation:
Führen Sie eine einzelne SQL-Anweisung aus, die KEIN SELECT oder eine andere SQL-Anweisung ist, die Daten zurückgibt.
Es hat keine Möglichkeit, Daten zurückzugeben (z. B. die Anzahl der betroffenen Zeilen). Stattdessen sollten Sie nach Möglichkeit insert(String, String,ContentValues), update(String, ContentValues, String, String[]) usw. verwenden.
Dann später:
Verwenden Sie für UPDATE-Anweisungen stattdessen eine der folgenden.
update(String, ContentValues, String, String[])
updateWithOnConflict(String, ContentValues, String, String[], int)
Soweit ich das beurteilen kann, ist die execSQL
-Methode ist eher für Datenbankoperationen auf höherer Ebene, wie z. B. das Erstellen von Tabellen und das Ändern von Schemas, und die .query
, .update
, .delete
, usw. Methoden sollten verwendet werden, um Zeilen zu ändern. Ich bin mir nicht sicher, ob Sie neben .update
noch eine andere Option haben um diesen Vorgang auszuführen.