dimanche 26 juillet 2015

Android sqlite all data removed when updating Database

I'am trying to move data from old database to new database version when upgrading application but when i run the new version of app all data is gone there's no data

Here's My onUpgrade Code :

@Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        try {
            if (oldVersion < newVersion) {
                Log.v("ONUPRGADE", "ITS HEREEEEEEEE");
                db.beginTransaction();
                db.execSQL("ALTER TABLE " + TABLE_NAME + " RENAME TO " + "temp_" + TABLE_NAME + ";");
                db.execSQL("ALTER TABLE atomicid" + " RENAME TO " + "temp_atomicid;");

                String Create_Table = "CREATE TABLE " + TABLE_NAME + " ( " + PRIMARY_KEY + " INTEGER  PRIMARY KEY  AUTOINCREMENT , "
                        + ALARM_NAME + " TEXT NOT NULL , " + ALARM_TIME + " TEXT NOT NULL , " + DAY_OR_NIGHT + " TEXT NOT NULL , "
                        + Tone + " TEXT NOT NULL , " + SUNDAY + " TEXT  , " + MONDEY + " TEXT  , " + TUESDAY
                        + " TEXT  , " + WEDNESDAY + " TEXT  , " + THURSDAY + " TEXT  , "
                        + FRIDAY + " TEXT  , " + SATARDAY + " TEXT , " + repeatWeekly + "  INTEGER  ); ";
                String AtomicIdTable = "CREATE TABLE atomicid(_id INTEGER PRIMARY KEY , alarmid INTEGER ,day TEXT);";
                db.execSQL(Create_Table);
                db.execSQL(AtomicIdTable);

                db.execSQL("INSERT INTO " + TABLE_NAME + " SELECT FROM temp_" + TABLE_NAME + ";");
                db.execSQL("INSERT INTO atomicid" + " SELECT FROM temp_atomicid" + ";");

                db.execSQL("DROP TABLE temp_" + TABLE_NAME + " IF EXISTS;");
                db.execSQL("DROP TABLE temp_atomicid" + " IF EXISTS;");

                db.setTransactionSuccessful();
                ;
                onCreate(db);

            } else {
                Log.v("ONUPRGADE", "ELSEEEEEEEEEEEE");

                db.execSQL("DROP TABLE " + TABLE_NAME + " IF EXISTS;");
                db.execSQL("DROP TABLE atomicid" + " IF EXISTS;");

                db.endTransaction();
                onCreate(db);
            }
        } finally {
            db.endTransaction();
        }

    }

Aucun commentaire:

Enregistrer un commentaire