SQLite
 sql >> Base de données >  >> RDS >> SQLite

SQLiteException utilisant WHERE +KEY_Date+='+date+'

1) N'ajoutez pas de littéral allfood objet à une chaîne. SQL ne peut pas interpréter un objet Java.

La méthode doit être l'une des suivantes car allfood est l'objet entier, vous en avez besoin comme paramètre. Et en le nommant date est tout simplement déroutant.

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

devrait être
Date=DATE_20170213

2) Non, cela ne devrait vraiment pas être le cas car Sqlite ne prend pas en charge ce format de dates. De plus, pré-ajoutez DATE_ gaspille simplement de l'espace de stockage dans votre base de données.

3) Veuillez ne pas utiliser ce

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

Créer un Calendar objet et utilisez SimpleDateFormat pour obtenir correctement une chaîne au format date.

en utilisant la dernière option ci-dessus, vous auriez quelque chose comme ça

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