2011-12-23 129 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)可选的子类,并且该类负责打开 数据库(如果它存在),如果它不存在,则创建它;以及升级它作为 必要。事务用于确保数据库始终处于明智状态 。

相关问题