Как обновить все строки столбца в базе данных SQLite в Android?

-3

Я новичок в базе данных SQLite. Это не дубликат какого-либо другого вопроса. Я динамически вставляю строки в таблицу, в которой есть столбцы, такие как название, тег, дата, местоположение и т.д. Я показываю оставшиеся дни с сегодняшнего дня пользователю в списке. Теперь моя проблема в том, что мне нужно обновить столбец оставшихся дней в таблице sqlite за каждый день, чтобы он уменьшался в зависимости от дня. Как обновить все строки этого оставшегося дня одновременно? И как уменьшить/обновить его по времени? Это то, что я пробовал.

    public static final String KEY_REMAINING_DAYS = "remainingdays";
    public static final int COL_REMAINING_DAYS = 10;
    private static final String DATABASE_CREATE_MY_SQL =
                "create table " + MY_TABLE
                        + " (" + KEY_ROW_ID + " integer primary key autoincrement, "
                        + KEY_TAG + " text not null, "
                        + KEY_TITLE + " text not null, "
                        + KEY_DATE + " text not null, "
                        + KEY_LOCATION + " text not null, "
                        + KEY_REMAINING_DAYS + " text not null, "
                        + ");";


public void update_days() {
        String where = "UPDATE "+ MY_TABLE +" SET " + COL_REMAINING_DAYS + " = " + COL_REMAINING_DAYS-1);
        db.rawQuery(where, null);
    }
Теги:
sql-update
android-sqlite

1 ответ

2
Лучший ответ

-1 должен быть SQL, например:

public void update_days() {
        String where = "UPDATE "+ MY_TABLE +" SET " + KEY_REMAINING_DAYS + " = " + KEY_REMAINING_DAYS  + "-1" );
        db.rawQuery(where, null);
    }

Так что итоговый запрос:

UPDATE <MY_TABLE>
   SET <KEY_REMAINING_DAYS> = <KEY_REMAINING_DAYS> -1;

Что касается "обновления по времени", вы делаете это в ежедневной тревоге или можете проверить, когда это было сделано последним при входе в приложение. Найдите похожие вопросы, касающиеся AlarmManager на этом сайте.

  • 0
    Огромное спасибо. Это сработало! Постараюсь найти логику для проверки времени обновления.
  • 0
    Рад, что смог помочь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню