Я хочу создать функцию удаления в своем приложении, чтобы удалить строки, добавленные больше, чем день назад, и столбец с именем «C». У меня проблема, как сравнивать текущую системную дату с датой, хранящейся в базе данных столбца,Как удалить строки из sqlite, сравнивая дату
public int RemoveSyncData(){
DBHelper = new DatabaseHelper(context);
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy hh:mm:ss a");
Calendar calObj = Calendar.getInstance();
String currentDate = dateFormat.format(calObj.getTime());
Log.e("current date",currentDate);
int totalRows = db.delete(DATABASE_TABLE_ATTENDANCE,SYN_STATUS + "= ? and " + CREATED_DATE + " < " + currentDate, new String[] {"C,"});
db.close();
return totalRows;
}
Я использую тот же формат дату для сравнения, bleow моего Logcat
07-24 10:50:37.018: E/AndroidRuntime(21580): Caused by: android.database.sqlite.SQLiteException: near "10": syntax error (code 1): , while compiling: DELETE FROM dailyattendance WHERE sync_status= ? and created_date < 07-24-2015 10:50:36 AM
07-24 10:50:37.018: E/AndroidRuntime(21580): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
07-24 10:50:37.018: E/AndroidRuntime(21580): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
07-24 10:50:37.018: E/AndroidRuntime(21580): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
07-24 10:50:37.018: E/AndroidRuntime(21580): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
Оставить одиночную цитату вокруг 'CREATED_DATE' - как' и '"+ CREATED_DATE +"' <' –
Синтаксическая ошибка SQL показана в вашем исключении. Одиночные кавычки необходимы для исправления ошибки синтаксиса SQL. –
может показать мне полную строку. – Andrain