2011-12-23 3 views
0

Я должен хранить старую базу данных и обновлять вновь добавленные элементы в базу данных. Можно ли хранить старую таблицу ????????Обновление базы данных, хранящей старую версию

+0

http://stackoverflow.com/questions/2097657/update-database-android – Abhinava

+0

Можете ли вы уточнить? Вы хотите обновить устаревшую базу данных, хранящуюся в предыдущей версии вашего приложения? – Arkde

+0

Название предполагает, что старая версия должна быть сохранена, вопрос предполагает, что она должна быть обновлена. Так что вы хотите? – WarrenFaith

ответ

0

Мы можем обновить версию

public class MyscreenDatabaseHelper extends SQLiteOpenHelper { 




    private static final String DATABASE_NAME="myscreenDB"; 
    private static final int DATABASE_VERSION=33; 



    private static final String MyScreen_CREATE="create table MyScreentb(_id integer primary key autoincrement,userid real," + 
      "password real,email real,address real,phoneno real,rectype integer)"; 


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

    } 
    @Override 
    public void onCreate(SQLiteDatabase db) { 
System.out.println("table created...."); 
      try{ 
     db.execSQL(MyScreen_CREATE); 
      }catch (Exception e) { 
      // TODO: handle exception 
     } 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     Log.w(MyscreenDatabaseHelper.class.getName(),"Upgrading database from"+oldVersion+"to"+newVersion+",which will Distroy all old data"); 
    db.execSQL("DROP TABLE IF EXISTS todo"); 
    onCreate(db); 
    } 



} 
+0

Это приведет к обновлению, отбросив старую таблицу, а предыдущие данные не будут сохранены в базе данных. – nantha

2

Отъезд SQLiteOpenHelper

вспомогательный класс для управления созданием базы данных и управление версиями. Вы создаете подкласс, реализующий onCreate (SQLiteDatabase), onUpgrade (SQLiteDatabase, int, int) и необязательно onOpen (SQLiteDatabase), и этот класс заботится об открытии базы данных , если она существует, создавая ее, если она отсутствует, и его обновление необходимо. Транзакции используются, чтобы убедиться, что база данных всегда в разумном состоянии.