super(Context context, String name, SQLiteDatabase.CursorFactory factory, int version)
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
package cc.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Demo描述:
* SQLite数据库版本升级的管理实现
*
* 参考资料:
* http://blog.csdn.net/guolin_blog
* Thank you very much
*/
public class DataBaseOpenHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME="test.db";
private static DataBaseOpenHelper mDataBaseOpenHelper;
public static final String CREATE_PERSON=
"create table person(personid integer primary key autoincrement,name varchar(20),phone VARCHAR(12))";
public DataBaseOpenHelper(Context context,String name,CursorFactory factory,int version) {
super(context, name, factory, version);
}
//注意:
//将DataBaseOpenHelper写成单例的.
//否则当在一个for循环中频繁调用openHelper.getWritableDatabase()时
//会报错,提示数据库没有执行关闭操作
static synchronized DataBaseOpenHelper getDBInstance(Context context) {
if (mDataBaseOpenHelper == null) {
mDataBaseOpenHelper = new DataBaseOpenHelper(context,DATABASE_NAME,null,1);
}
return mDataBaseOpenHelper;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_PERSON);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
package cc.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseOpenHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME="test.db";
private static DataBaseOpenHelper mDataBaseOpenHelper;
public static final String CREATE_PERSON=
"create table person(personid integer primary key autoincrement,name varchar(20),phone VARCHAR(12))";
public static final String CREATE_STUDENT=
"create table student(studentid integer primary key autoincrement,name varchar(20),phone VARCHAR(12))";
public DataBaseOpenHelper(Context context,String name,CursorFactory factory,int version) {
super(context, name, factory, version);
}
//注意:
//将DataBaseOpenHelper写成单例的.
//否则当在一个for循环中频繁调用openHelper.getWritableDatabase()时
//会报错,提示数据库没有执行关闭操作
static synchronized DataBaseOpenHelper getDBInstance(Context context) {
if (mDataBaseOpenHelper == null) {
//改动1
mDataBaseOpenHelper = new DataBaseOpenHelper(context,DATABASE_NAME,null,2);
}
return mDataBaseOpenHelper;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_PERSON);
//改动2
db.execSQL(CREATE_STUDENT);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//改动3
switch (oldVersion) {
case 1:
db.execSQL(CREATE_STUDENT);
default:
}
}
}
package cc.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DataBaseOpenHelper extends SQLiteOpenHelper {
private final static String DATABASE_NAME="test.db";
private static DataBaseOpenHelper mDataBaseOpenHelper;
//改动1
public static final String CREATE_PERSON=
"create table person(personid integer primary key autoincrement,name varchar(20),phone VARCHAR(12)),genderid integer)";
public static final String ALTER_PERSON="alter table person add column genderid integer";
public static final String CREATE_STUDENT=
"create table student(studentid integer primary key autoincrement,name varchar(20),phone VARCHAR(12))";
public DataBaseOpenHelper(Context context,String name,CursorFactory factory,int version) {
super(context, name, factory, version);
}
//注意:
//将DataBaseOpenHelper写成单例的.
//否则当在一个for循环中频繁调用openHelper.getWritableDatabase()时
//会报错,提示数据库没有执行关闭操作
static synchronized DataBaseOpenHelper getDBInstance(Context context) {
if (mDataBaseOpenHelper == null) {
//改动2
mDataBaseOpenHelper = new DataBaseOpenHelper(context,DATABASE_NAME,null,3);
}
return mDataBaseOpenHelper;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_PERSON);
db.execSQL(CREATE_STUDENT);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion) {
case 1:
db.execSQL(CREATE_STUDENT);
//改动3
case 2:
db.execSQL(ALTER_PERSON);
default:
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有