Я создал БД в sqlite и таблицу в этой БД. теперь я хочу добавить еще одну таблицу в эту таблицу. Но я не понимаю, почему эта новая таблица не находится в БД.Как добавить новую таблицу в Sqlite DB
Просьба предложить.
Я создал БД в sqlite и таблицу в этой БД. теперь я хочу добавить еще одну таблицу в эту таблицу. Но я не понимаю, почему эта новая таблица не находится в БД.Как добавить новую таблицу в Sqlite DB
Просьба предложить.
Проверьте эти две ссылки , Пример кода во втором:
http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html
Вы должны использовать вспомогательный класс для доступа к БД, и эти ссылки помогут. Если вы сделаете это правильно с самого начала, это сэкономит вам массу проблем при обновлении позже по дороге. Надеюсь, поможет.
Кроме того, во второй ссылке 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);";
Я думаю, это звучит как проблема с обновлением. Если вы измените столбцы таблицы или создадите новые таблицы, вам необходимо обновить свою БД.
SQLiteDatabase YourDatabaseName;
YourDatabaseName = getData.getWritableDatabase();
getData.onUpgrade(YourDatabaseName, 1, 2);
надеюсь, что это помогает
Если вы хотите создать новую таблицу, не существует, то использовать 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);
}
});
Чтобы добавить новую таблицу в базу данных ...
шаг 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");
}
}
Пожалуйста добавьте оператор, который вы используете для создания таблицы и исключения (если есть). – stacker
у вас есть таблица в вашем Sqlite, теперь вы хотите добавить только новую таблицу ... !! –
вы можете убрать немного больше, как сказал MIKE. Я даю ответ, что я понимаю – Sameer