sql >> Databasteknik >  >> RDS >> SQLite

SQLiteException med WHERE +KEY_Date+='+date+'

1) Lägg inte till en bokstavlig allfood invända mot en sträng. SQL kan inte tolka ett Java-objekt.

Metoden bör vara något av följande eftersom allfood är hela objektet behöver du det som parameter. Och namnge den som date är helt enkelt förvirrande.

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

ska vara
Datum=DATE_20170213

2) Nej, det borde det verkligen inte eftersom Sqlite inte stöder det formatet av datum. Dessutom väntar på DATE_ slösar bara bort lagring i din databas.

3) Använd inte denna

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

Bygg en Calendar objekt och använd SimpleDateFormat för att få en datumformaterad sträng.

genom att använda det sista alternativet ovan, skulle du ha något sånt här

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. Hur jag skapar installationsprogram för webbplatsen. PHP mysql

  2. Returnera en lista över tidszoner som stöds av PostgreSQL

  3. i SQLite

  4. Hur delar jag en sträng så att jag kan komma åt objekt x?