SQLite
 sql >> база данни >  >> RDS >> SQLite

execSQL() с UPDATE не се актуализира

От документацията на класа на Android SQLiteDatabase:

Изпълнете единичен SQL оператор, който НЕ е SELECT или друг SQL оператор, който връща данни.

Той няма средства за връщане на никакви данни (като броя на засегнатите редове). Вместо това се насърчаваме да използвате insert(String, String,ContentValues), update(String, ContentValues, String, String[]), etal, когато е възможно.

След това по-късно:

За изрази UPDATE използвайте някое от следните вместо това.

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

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

Доколкото мога да преценя, execSQL методът е повече за операции с база данни от по-високо ниво, като например създаване на таблици и промяна на схема, и .query , .update , .delete , и др. трябва да се използват методи за промяна на редове. Не съм сигурен, че имате друга опция освен .update за да извършите тази операция.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android Studio 3.0 canary 1:SQL синтактична грешка

  2. Sqlite не вмъква данни във 2-ра таблица

  3. Изтриване на елемент от ListView и база данни с OnItemClickListener

  4. Как работи ON CONFLICT в SQLite

  5. chmod неуспешно:EPERM (операция не е разрешена) в android?