SQLite
 sql >> Baza danych >  >> RDS >> SQLite

execSQL() z UPDATE nie aktualizuje się

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ę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co to jest SQLite

  2. Operatory do wyodrębniania podkomponentów JSON

  3. Niezgodność typu danych (kod 20) podczas wstawiania

  4. 6 sposobów na wybranie zduplikowanych wierszy w SQLite

  5. Sklonuj bazę danych SQLite