I have a problem upgrading SQLiteDatabase on Android.
Could you help me?
//DBHelper
public class LaserSignDbHelper extends SQLiteOpenHelper{
public static final String DATABASE_NAME = "laser_languages.db";
public static final int DATABASE_VERSION = 3;
public static final String CREATE_QUERY = "CREATE TABLE " + LaserSignDB.DbInfo.TABLE_NAME +
" ( " + LaserSignDB.DbInfo.NAME + " TEXT, " + LaserSignDB.DbInfo.DESCRIPTION + " TEXT, "
+ LaserSignDB.DbInfo.ACCEPT + " TEXT, " + LaserSignDB.DbInfo.DECLINE + " TEXT);";
Constructor
public LaserSignDbHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
onCreate method
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_QUERY);
ContentValues enValues = new ContentValues();
enValues.put(LaserSignDB.DbInfo.NAME, LaserSignDB.DbTags.EN);
enValues.put(LaserSignDB.DbInfo.DESCRIPTION, LaserSignDB.DbDescriptions.EN);
enValues.put(LaserSignDB.DbInfo.ACCEPT, LaserSignDB.DbAccepts.EN);
enValues.put(LaserSignDB.DbInfo.DECLINE, LaserSignDB.DbDeclines.EN);
db.insert(LaserSignDB.DbInfo.TABLE_NAME, null, enValues);
}
onUpgrade method: I want to upgrade my table with new informations added in the abstract class DbInfo
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + LaserSignDB.DbInfo.TABLE_NAME);
onCreate(db);
}
Aucun commentaire:
Enregistrer un commentaire