我必须保留旧数据库并将新添加的项目升级到数据库。是否可以存储旧表????????
答案 0 :(得分:2)
用于管理数据库创建和版本管理的帮助程序类。您 创建一个实现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);
}
}