SQLite
 sql >> Datenbank >  >> RDS >> SQLite

execSQL() mit UPDATE wird nicht aktualisiert

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.