Удаление строк из SQLite (Android) по времени - PullRequest
0 голосов
/ 20 декабря 2011

Я видел несколько подобных вопросов здесь, но ни один из них не помогает, поэтому я решил, что смогу получить персональную помощь.Я добавляю вещи в свою базу данных с помощью столбца time_added, который имеет вид:

2011-12-20 09:55:28

Затем я вызываю метод, который я написал для удаления в зависимости от времени, в настоящее время я просто хочу, чтобы онудалите все до сих пор:

StringBuilder queryString = new StringBuilder("date('now') < date('");
queryString.append(KEY_TIME).append("')"); //.append("','+0 days')");
int c = mDatabase.delete(DATABASE_TABLE,  queryString.toString(), null)

Так что сейчас он печатает предложение WHERE, которое гласит:

date('now') > date('time_added')

Я думал, что это означало, что все, что было раньше, будет удалено, но, возможно,Я не прав.Спасибо за помощь.

Ответы [ 2 ]

4 голосов
/ 20 декабря 2011

Я помню, что у меня тоже были проблемы с реализацией. Я не помню почему, но команда даты, похоже, не сотрудничала. Я просто использовал сравнение строк в формате даты. Вот код, который я в итоге использовал. Вроде нормально работает.

    // Range to cleanup anything in the DB that is older than 2 days
    //
    // NOTE: This value must be negative so that when it gets added to the
    // current date, it sets the range as anything older than 2 days ago
    int rangeInDays = -2;

    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Calendar range = Calendar.getInstance();
    range.add(Calendar.DAY_OF_MONTH, rangeInDays);

    int numDeleted =
        mDatabase.delete(DATABASE_TABLE, "time_added" + " < '"
                    + dateFormat.format(range.getTime()) + "'", null);
1 голос
/ 20 декабря 2011

Я бы сохранил ваши даты как целые числа, используя getTimeInMilliseconds().Это облегчает сравнение и означает, что вам не нужно беспокоиться о международных форматах дат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...