SQLite
 sql >> Database >  >> RDS >> SQLite

execSQL() con UPDATE non si aggiorna

Dalla documentazione della classe SQLiteDatabase di Android:

Esegui una singola istruzione SQL che NON sia una SELECT o qualsiasi altra istruzione SQL che restituisca dati.

Non ha mezzi per restituire alcun dato (come il numero di righe interessate). Invece, sei incoraggiato a usare insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, quando possibile.

Poi dopo:

Per le istruzioni UPDATE, utilizza invece una delle seguenti.

update(String, ContentValues, String, String[])

updateWithOnConflict(String, ContentValues, String, String[], int)

Per quanto ne so, execSQL è più per operazioni di database di livello superiore, come la creazione di tabelle e la modifica dello schema, e il .query , .update , .delete , ecc. devono essere utilizzati per modificare le righe. Non sono sicuro che tu abbia un'altra opzione oltre a .update per eseguire questa operazione.