Android, ошибка базы данных SQL Ошибка синтаксиса 1? Не могу найти то, о чем говорит catlog - PullRequest
0 голосов
/ 15 июля 2011

База данных - Ошибка 1 (рядом с «текстом»: синтаксическая ошибка) на 0x25c768 при подготовке ...

Это ошибка, которая появляется в LogCat при попытке запустить мое приложение. У меня есть следующий код для настройки базы данных:

private static final String DATABASE_NAME = "recipesDB";
private static final String DATABASE_TABLE = "recipes";
private static int DATABASE_VERSION = 1;

public static final String KEY_NAME = "name";
public static final String KEY_TYPE = "type";
public static final String KEY_INGREDIENTS = "ingredients";
public static final String KEY_NOTES = "notes";
public static final String KEY_BOIL = "boil";
public static final String KEY_PRIMARY = "primary";
public static final String KEY_SECONDARY = "secondary";
public static final String KEY_ROWID = "_id";
private DatabaseHelper mDbHelper; // DatabaseHelper is an inner class extending SQLiteOpenHelper

private SQLiteDatabase mDb;

private static final String DATABASE_CREATE = 
    "create table " + DATABASE_TABLE + " ("
    + KEY_ROWID + " integer primary key autoincrement, "
    + KEY_INGREDIENTS + " text not null, "
    + KEY_NOTES + " text not null, "
    + KEY_BOIL + " text not null, "
    + KEY_PRIMARY + " text not null, "
    + KEY_SECONDARY + " text not null); ";

private final Context cntx;

public recipesDB(Context cnt){
    this.cntx = cnt;
}

Я довольно растерялся из-за того, почему я получаю эту ошибку, так как код и синтаксис кажутся нормальными. Я получаю ошибку во время выполнения, когда я запускаю приложение на своем телефоне и нажимаю на кнопку, которая открывает ActivityList. Больше не показан код, который открывается и ловит SQLExpection на open() и т. Д.

Есть предложения?

1 Ответ

4 голосов
/ 15 июля 2011

Попробуйте переименовать столбец в «первичный» - это зарезервированное слово (как в автоинкременте первичного ключа ...) и может вызывать удушение SQLite.

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