sql >> Databáze >  >> RDS >> SQLite

SQLiteException pomocí WHERE +KEY_Date+='+date+'

1) Nepřidávejte doslovné allfood objekt na řetězec. SQL nedokáže interpretovat objekt Java.

Metoda by měla být některá z následujících, protože allfood je celý objekt, potřebujete jej jako parametr. A pojmenovat jej jako date je prostě matoucí.

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

by mělo být
Date=DATE_20170213

2) Ne, opravdu by nemělo, protože Sqlite nepodporuje tento formát dat. Navíc čekající DATE_ jen plýtvá úložištěm ve vaší databázi.

3) Nepoužívejte toto

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

Vytvořte Calendar objekt a použijte SimpleDateFormat správně získat řetězec ve formátu data.

pomocí poslední možnosti výše byste měli něco takového

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. Jak vytvořit soubor login.sql pro SQLcl

  2. Oracle 12:Připojit se na seznam oddělený čárkami?

  3. Zobrazení dat v RecyclerView

  4. 6 způsobů, jak odstranit duplicitní řádky, které mají primární klíč v Oracle