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

selectionArgs в SQLiteQueryBuilder не работи с целочислени стойности в колони

Това, че параметрите на заявката могат да бъдат само низове, е ужасна грешка в дизайна в API на базата данни на Android.

Въпреки това, което се казва в документацията, трябва да използвате параметри само за действителни стойности на низове; целочислените стойности могат безопасно да бъдат вградени директно в SQL низа. (За блобове трябва да използвате функция, която приема ContentValues .)

Моля, имайте предвид, че докато SQLite използва динамично въвеждане, стойностите от различни типове не сравняване на равни в повечето случаи (SELECT 42='42'; връща 0 ).Има някои случаи, в които SQLite прави автоматично преобразува стойности поради афинитет на типа (във вашия случай това би се случило, ако сте декларирали id колона като INTEGER ), но това е доста противоинтуитивно, така че не трябва да се разчита на него.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавете данни към базата данни sqlite само веднъж и прочетете няколко пъти

  2. Вземете идентификатор на ред на таблица на SQLite FTS3

  3. SQLite Group By

  4. как да стартирам приложение с SQLite darabase на емулатор на Android Studio?

  5. 3 начина за генериране на скрипт CREATE TABLE от съществуваща таблица в SQLite