sql >> Databasteknik >  >> RDS >> SQLite

execSQL() med UPDATE uppdateras inte

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.



  1. kan inte ladda oci8 -> Allvarligt fel:Anrop till odefinierad funktion oci_connect()

  2. Android SQLite problem - tabell ... har ingen kolumn namngiven

  3. Vad är det bästa sättet att skapa och fylla i en taltabell?

  4. Söka i en Oracle-databas efter tabeller med specifika kolumnnamn?