Еще один вопрос базы данных Android SQLite - PullRequest
1 голос
/ 06 октября 2010

Я хочу создать две таблицы в БД, как мне сделать это с использованием потомка SQLiteOpenHelper и переопределением метода onCreate?Будет ли приведенный ниже код в порядке?Кажется, я делаю это неправильно.

public void onCreate(SQLiteDatabase db){
      db.execSQL("CREATE TABLE "+CATEGORY_TABLE+" ("+_ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
              CATEGORY_NAME+" TEXT NOT NULL);");    

      db.execSQL("CREATE TABLE "+RECIPES_TABLE+" ("+_ID+" INTEGER PRIMARY KEY AUTOINCREMENT, "+
              RECIPE_NAME+" TEXT NOT NULL, "+CATEGORY_ID+" INTEGER, "+ RECIPE+" TEXT NOT NULL);");
  }

Ответы [ 2 ]

0 голосов
/ 29 января 2011

Кроме того, я бы предложил «CREATE TABLE ЕСЛИ НЕ СУЩЕСТВУЕТ» вместо просто «CREATE TABLE», чтобы, даже если один и тот же оператор SQL выполняется дважды, вы не получите исключения.

0 голосов
/ 12 октября 2010

Фактически все операторы создания должны выполняться внутри одного оператора execSQL. Еще один момент: если вы хотите изменить схему БД, вы должны увеличить версию БД - тогда снова будет вызываться onCreate.

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