База данных Android SQLite не заполняется - PullRequest
1 голос
/ 15 июня 2011

Я пытаюсь создать базу данных SQLite.Метод create:

private static class DatabaseHelper extends SQLiteOpenHelper {

    @Override
    public void onCreate(SQLiteDatabase db) {

        db.execSQL(CREATE_BASE_TABLE);
    }

}

(конструктор и функция обновления также реализованы в этом закрытом классе)

вызывает строку SQL:

static final String CREATE_BASE_TABLE ="create table if not exists tableData ("
        + "id INTEGER PRIMARY KEY,"
        + "name TEXT,"
        + "image TEXT,"
        + "var1 TEXT,"
        + "var2 TEXT,"
        + ");";

но execSQL возвращает success=false, как показывают отладчик и точки останова.

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

Как это исправить, чтобы мой метод правильно заполнил мою таблицу?Есть ли проблема с синтаксисом в моем запросе?

1 Ответ

1 голос
/ 15 июня 2011

Это очень тонко, но ошибка в вашей команде создания таблицы. В этой строке не должно быть запятой:

+ "var2 TEXT,"

Вместо этого должно быть просто:

+ "var2 TEXT"

, так как это последний столбец, который вы определяете.

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