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

SQLiteException, използващ WHERE +KEY_Date+='+date+'

1) Не добавяйте буквално allfood обект на низ. SQL не може да интерпретира Java обект.

Методът трябва да бъде някой от следните, тъй като allfood е целият обект, имате нужда от него като параметър. И го именувайте като date просто е объркващо.

  • totalFat(Date date)
  • totalFat(String date)
  • totalFat(Calendar date)
  • totalFat(int year, int month, int dayOfMonth)

трябва да е
Дата=ДАТА_20170213

2) Не, наистина не трябва, защото Sqlite не поддържа този формат на дати. Освен това, предстои DATE_ просто губи място за съхранение във вашата база данни.

3) Моля, не използвайте това

date= year +""+ month +""+ dayOfMonth

Създайте Calendar обект и използвайте SimpleDateFormat за да получите правилно форматиран низ за дата.

като използвате последната опция по-горе, ще имате нещо подобно

SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, dayOfMonth);
String queryForDate = fmt.format(calendar.getTime());
// db.query(TABLE_NAME, null, new String[] {...  // TODO: Complete this 



  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. Android SQLiteOpenHelper:Защо методът onCreate() не се извиква?

  3. IllegalStateException:базата данни вече е затворена (с помощта на ViewPager)

  4. Показване на напредъка, докато doInbackground

  5. Как да вкарате полето ForeignCollection в курсора в Ormlite