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

SQLiteException przy użyciu WHERE +KEY_Date+='+data+'

1) Nie dodawaj dosłownego allfood obiekt do ciągu. SQL nie może zinterpretować obiektu Java.

Metoda powinna być jedną z poniższych, ponieważ allfood jest całym obiektem, potrzebujesz go jako parametru. I nazywając go date jest po prostu mylące.

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

powinien być
Data=DATE_20170213

2) Nie, naprawdę nie powinno, ponieważ Sqlite nie obsługuje tego formatu dat. Dodatkowo oczekujące na DATE_ po prostu marnuje miejsce w Twojej bazie danych.

3) Proszę nie używać tego

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

Zbuduj Calendar obiektu i użyj SimpleDateFormat aby poprawnie uzyskać ciąg w formacie daty.

korzystając z ostatniej opcji powyżej, otrzymasz coś takiego

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. Sformatuj wyniki SQLite jako JSON

  2. SQLite JSON_OBJECT()

  3. android.database.sqlite.SQLiteException:blisko s:błąd składni (kod 1):,

  4. Kiedy powinienem zamknąć kursor i db?

  5. Operator INTERSECT SQLite