Java, SQLite, вставка данных в базу данных - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть база данных SQLite с этими параметрами

private static final String TABLE_NAME = "people_table";
private static final String COL1 = "ID";
private static final String COL2 = "name";
private static final String COL3 = "anything";

Вот как она создается:

String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COL2 +" TEXT, " + COL3 + "TEXT)" ;

Я пытаюсь добавить данные в БД для обоих столбцов,мой код здесь:

SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();

    contentValues.put(COL2, "item");
    contentValues.put(COL3, "item2");

    long result = db.insert(TABLE_NAME,null,contentValues);

    if (result > 0) {
        return true;
    } else {
        return false;
    }

Но он не работает, я понятия не имею, почему.
Пожалуйста, любой совет?

1 Ответ

0 голосов
/ 26 февраля 2019

Ваша проблема в том, что вы пропустили пробел, поэтому нет столбца с именем что-нибудь , но вместо этого столбец с именем что-нибудьTEXT

Измените для использования: -

String createTable = "CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COL2 +" TEXT, " + COL3 + " TEXT)" ;

Затем удалите данные приложения или удалите приложение и запустите его снова.

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