sql >> Base de Datos >  >> RDS >> SQLite

SQLiteException usando WHERE +KEY_Date+='+fecha+'

1) No agregue un literal allfood objeto a una cadena. SQL no puede interpretar un objeto Java.

El método debe ser cualquiera de los siguientes porque allfood es el objeto completo, lo necesita como parámetro. Y nombrándolo como date es simplemente confuso.

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

debe ser
Fecha=FECHA_20170213

2) No, realmente no debería porque Sqlite no admite ese formato de fechas. Además, anteponiendo DATE_ solo está desperdiciando almacenamiento en su base de datos.

3) Por favor, no utilice este

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

Crea un Calendar objeto y use SimpleDateFormat para obtener correctamente una cadena con formato de fecha.

usando la última opción anterior, tendrías algo como esto

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