2011-12-23 3 views
1

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

Просьба предложить.

+0

Пожалуйста добавьте оператор, который вы используете для создания таблицы и исключения (если есть). – stacker

+1

у вас есть таблица в вашем Sqlite, теперь вы хотите добавить только новую таблицу ... !! –

+0

вы можете убрать немного больше, как сказал MIKE. Я даю ответ, что я понимаю – Sameer

ответ

0

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

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);"; 
3

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

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

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

1

Если вы хотите создать новую таблицу, не существует, то использовать this.Let вы хотите создать таблицу при БТН щелкнул

 Button btn=new Button(this); 
    btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      SQLiteDatabase db; 
      db = databaseclassObject.getWritableDatabase(); 
      String str="create table tablename(Col1 text not null,col2 text not null);"; 
      db.execSQL(str); 
     } 
    }); 
0

Чтобы добавить новую таблицу в базу данных ...

шаг 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"); 

} 
} 
Смежные вопросы