Ошибка Android «создать таблицу, если она не существует» в Eclipse - PullRequest
0 голосов
/ 11 февраля 2012

Я создаю приложение для ввода значений входных строк из EditText в базу данных SQLite.При запуске приложения через симулятор появляется сообщение об ошибке logcat, когда база данных будет создана изначально.Ниже приведено сообщение об ошибке logcat.

01-23 16: 47: 39.613: E / Database (1386): ошибка 1 (рядом с «existinfoTable»: синтаксическая ошибка) в 0x1392b8 при подготовке к созданию таблицы, если она не существуетinfoTable(первичный ключ _idinterger, sNametext не нулевой, wUrltext не нулевой, uNametext не нулевой, pWordtext не нулевой); '.

Метод OnCreate, на который он ссылается, приведен ниже.Я не уверен, какая синтаксическая ошибка вызывает проблему.любая помощь будет оценена.

public void onCreate(SQLiteDatabase db) {
    String sqlDataStore = "create table if not exist" +
        TABLE_NAME_INFOTABLE + "("+ BaseColumns._ID + "interger primary key autoincrement,"
        + COLUMN_NAME_SITE + "text not null,"
        + COLUMN_NAME_ADDRESS + "text not null,"
        + COLUMN_NAME_USERNAME + "text not null,"
        + COLUMN_NAME_PASSWORD + "text not null),";
    db.execSQL(sqlDataStore);
}

1 Ответ

10 голосов
/ 11 февраля 2012

Судя по всему, вы неправильно набрали "integer", и похоже, что вам нужны пробелы перед "integer", после "Существовать" (я думаю, что это должно быть "существует") и перед "(". Итак ... ..

String sqlDataStore = "create table if not exists " +
        TABLE_NAME_INFOTABLE + " ("+ BaseColumns._ID + " integer primary key autoincrement,"
                + COLUMN_NAME_SITE + "text not null,"
                + COLUMN_NAME_ADDRESS + "text not null,"
                + COLUMN_NAME_USERNAME + "text not null,"
                + COLUMN_NAME_PASSWORD + "text not null)";

Вы также можете опустить ',' или ';' в конце выписки.

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