sql >> Database >  >> RDS >> SQLite

SQLiteException met WHERE +KEY_Date+='+date+'

1) Voeg geen letterlijke allfood toe object naar een string. SQL kan een Java-object niet interpreteren.

De methode moet een van de volgende zijn omdat allfood is het hele object, je hebt het wel nodig als parameter. En het een naam geven als date is gewoon verwarrend.

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

zou moeten zijn
Date=DATE_20170213

2) Nee, dat zou eigenlijk niet moeten, want Sqlite ondersteunt dat formaat van datums niet. Bovendien, in afwachting van DATE_ verspilt gewoon opslagruimte in uw database.

3) Gebruik dit alstublieft niet

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

Bouw een Calendar object en gebruik SimpleDateFormat om correct een datum-opgemaakte string te krijgen.

als je de laatste optie hierboven gebruikt, zou je zoiets als dit hebben

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. Hoe tekenreeksen van een tekenreeksveld samenvoegen in een PostgreSQL 'groeperen op'-query?

  2. Gegevens exporteren naar CSV-bestand in Oracle met behulp van PL SQL Procedure

  3. snelle selectie van een willekeurige rij uit een grote tabel in mysql

  4. Uitzondering in thread main java.sql.SQLException:Toegang geweigerd voor gebruiker ''@'localhost' (met wachtwoord:NEE)