2011-12-23 160 views
0

我必須保持舊的數據庫,並升級新加入的項目可以存儲舊錶的database.Is ????????升級數據庫保持舊版本

+0

http://stackoverflow.com/questions/2097657/update-database-android – Abhinava 2011-12-23 09:31:42

+0

你能更具體嗎?你想更新從以前版本的應用程序中存儲的舊數據庫嗎? – Arkde 2011-12-23 09:38:09

+0

標題表明,舊版本應該保持,這個問題表明,它應該更新。所以你想要什麼? – WarrenFaith 2011-12-23 12:19:17

回答

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 2012-01-03 06:09:04

2

退房SQLiteOpenHelper

一個輔助類來管理數據庫的創建和版本管理。您 創建onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase,int,int)和onOpen(SQLiteDatabase)可選的子類,並且該類負責打開 數據庫(如果它存在),如果它不存在,則創建它;以及升級它作爲 必要。事務用於確保數據庫始終處於明智狀態 。

相關問題