Как добавить новую таблицу в БД Sqlite - PullRequest
1 голос
/ 23 декабря 2011

Я создал БД в sqlite и таблицу в этой БД.Теперь я хочу добавить еще одну таблицу в этой таблице.Но я не понимаю, почему эта новая таблица отсутствует в БД.

Пожалуйста, предложите.

Ответы [ 4 ]

3 голосов
/ 23 декабря 2011

Я думаю, это звучит как проблема с обновлением. Если вы меняете столбцы таблицы или создаете новые таблицы, вам необходимо обновить базу данных.

SQLiteDatabase YourDatabaseName;
YourDatabaseName = getData.getWritableDatabase();
getData.onUpgrade(YourDatabaseName, 1, 2);

надеюсь, это поможет

1 голос
/ 09 декабря 2014

Добавление новой таблицы в базу данных ...

шаг 1: увеличить версию базы данных

шаг 2: создать новую таблицу в методе onUpgrade:

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

  if (newVersion > oldVersion) {  
      db.execSQL("CREATE TABLE NEW_TABLE COLUMN1 TEXT," +
            "COLUMN2 TEXT," +
            "COLUMN3 TEXT");  

 }  
}
1 голос
/ 23 декабря 2011

Если вы хотите создать новую таблицу, которая не существует, используйте эту.

0 голосов
/ 23 декабря 2011

Проверьте эти две ссылки.Пример кода во втором:

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

http://code.google.com/p/android-notes/source/browse/trunk/src/com/bitsetters/android/notes/DBHelper.java?r=10

Вы должны использовать вспомогательный класс для доступа к БД, и эти ссылки помогут.Если вы сделаете это правильно с самого начала, это избавит вас от многих проблем при обновлении в будущем.Надеюсь, это поможет.

Кроме того, во второй ссылке, DBHelper.java, вы можете увидеть строки создания в начале файла, если вы не знаете, что искать.

private static final String DBVERSION_CREATE = 
  "create table " + TABLE_DBVERSION + " ("
   + "version integer not null);";
private static final String NOTES_CREATE =
  "create table " + TABLE_NOTES + " ("
  + "id integer primary key autoincrement, "
  + "note text, "
  + "lastedit text);";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...