/ / Android SQLite добавите нови колони към таблицата - android, android-sqlite

Android SQLite добави нови колони в таблицата - android, android-sqlite

Имам SQLite база данни в приложението си и сега направих някои промени в приложението, стойностите и т.н. и трябва да преименувам (или да изтрием и добавим нова) колона.

Аз първо просто преименувам името на колоната, но сега получавам

sqlite.sqliteexception no such column error...

Трябва ли да използвам някакъв различен метод за промяна на таблицата (име на колона), вместо този аматьорски праволинеен подход, който очевидно връща тази грешка?

UPDATE

Номерът е само за промяна на версията на базата данни:

    public DatabaseManidzer(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

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

Log.w(DatabaseManidzer.class.getName(),"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");

db.execSQL("DROP TABLE IF EXISTS " + TABLE_VNOSI);
onCreate(db);

}

Отговори:

3 за отговор № 1

Да, ако използвате DatabaseHelper, има начин да надстроите схемата на базата данни.

можете да намерите много уроци по този начин.

Ето едно. Обновяване на Android SQLite DB схема?

Методът, който търсите, е OnUpgrade

И не преименувайте променливите, които се отнасят до действителните таблици в таблицата, освен ако първо не промените имената на действителните колони. Ще трябва да използвате SQL queries, за да направите това, което искате.


0 за отговор № 2

Можете просто да добавите заявка за ALTER TABLE вonUpgrade и след това не забравяйте да увеличите версията на DB в класа си за помощ, по този начин ще запазите съществуващите данни в таблицата. Или, ако все още сте в процес на разработка, просто пуснете масата и я създайте отново с новата промени. Ако ми дадете пример за това, което се опитвате да постигнете, може да ви помогна повече.

Благодаря.


0 за отговор № 3

ако DB версия: 6 Пример: Има таблица с 5 колони

При надстройване до: 7

  1. Трябва да добавим колоните, когато създаваме таблица
  2. Метод onUpgrade:

    ако (oldVersion <7)
    { db.execSQL (DATABASE_ALTER_ADD_PAPER_PAID); db.execSQL (DATABASE_ALTER_LAST_UPLOADED); db.execSQL (DATABASE_ALTER_PAPER_LABEL); }

След повече от две операции тя ще работи добре за потребителите на ново инсталиране и потребител за надстройване на приложения

за разбирането Винод