升级保留旧版本的数据库

时间:2011-12-23 09:08:26

标签: android

我必须保留旧数据库并将新添加的项目升级到数据库。是否可以存储旧表????????

2 个答案:

答案 0 :(得分:2)

查看SQLiteOpenHelper

  

用于管理数据库创建和版本管理的帮助程序类。您   创建一个实现onCreate(SQLiteDatabase)的子类,   onUpgrade(SQLiteDatabase,int,int)和可选项   onOpen(SQLiteDatabase),这个类负责打开   数据库(如果存在),如果不存在则创建它,将其升级为   必要即可。事务用于确保数据库始终   处于明智的状态。

答案 1 :(得分: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);  
    }



}