Android Studio, не добавляет запись в БД Sqlite

223
10 мая 2018, 08:32

Подскажите пожалуйста, почему может не добавляться запись в БД? Никакой ошибки не возникает, всё работает, но запись просто не добавляет.

Код добавления записи:

public static void insertRowAchievements(Context context) {
    databaseHelper = new DatabaseHelper(context);
    // создаем базу данных
    databaseHelper.create_db();
    // открываем подключение
    db = databaseHelper.open();
    // Создаем объект ContentValues, где имена столбцов ключи,
    // а информация о пользователе является значениями ключей
    ContentValues contentValues = new ContentValues();
    contentValues.put(COLUMN_TITTLE, "Новичёк"); // 1
    contentValues.put(COLUMN_DESCRIPTION, "Пройдите 5 уровней подряд");
    contentValues.put(COLUMN_REWARD, 5);
    contentValues.put(COLUMN_STATUS, false);
    contentValues.put(COLUMN_ID_USER, id);
    db.insert(TABLE_ACHIEVEMENTS, null, contentValues);
    contentValues.clear();
    db.close();
}

Код таблицы БД, куда пытаюсь добавить запись:

CREATE TABLE `achievements` (
    `_id`   INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
    `tittle`    TEXT NOT NULL UNIQUE,
    `description`   TEXT NOT NULL UNIQUE,
    `reward`    INTEGER NOT NULL,
    `status`    BOOLEAN NOT NULL DEFAULT 'false',
    `count_levels`  INTEGER DEFAULT NULL,
    `count_money`   INTEGER DEFAULT NULL,
    `count_eating`  INTEGER DEFAULT NULL,
    `count_wins`    INTEGER DEFAULT NULL,
    `id_user`   INTEGER NOT NULL,
    FOREIGN KEY(`id_user`) REFERENCES `users`(`_id`) ON DELETE SET NULL
);
Answer 1

Попробуйте заменить ваш метод insert() на этот

   public long insert(String table, String nullColumnHack, ContentValues values) {
        return myDataBase.insert(table, nullColumnHack, values);
    }

где myDataBase экземпляр SQLiteDatabase.

Если вам нужно я могу скинуть свой класс DataBaseHelper, который использую у себя. Я уверен что вы можете его у себя использовать

READ ALSO
Таблица друзей в базе данных

Таблица друзей в базе данных

Как лучше всего составить таблицу друзей tb_friend в базе данныхОсновной запрос который будет использоваться это - является ли user1 другом user2 или...

193
Добавить строки из одной таблицы в другую [НЕ ОБЪЕДИНИТЬ]

Добавить строки из одной таблицы в другую [НЕ ОБЪЕДИНИТЬ]

Имеются три таблицы с пользователямиУ всех трёх таблиц есть user_id , его я и хочу получить из этих всёх трёх таблиц

236
Реализация ITSG-06

Реализация ITSG-06

Появилась необходимость реализовать ITSG-06 на C++Вопрос в том, хватит ли мне циклической перезаписи файла, в соответствии с алгоритмом, через...

197
Как парсить с Википедии в Qt?

Как парсить с Википедии в Qt?

У меня есть класс для парсинга страниц под названием Loader:

194