public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydb.db"; // 创建数据库的文件
private static final int VERSION = 2; // 数据库版本,版本是更新的依据
/*
* 调用这个构造函数并不会马上创建数据库,
* 只有在调用帮助类的getWritableDatabase();getReadableDatabase();方法的时候才会创建数据库
*/
public DBHelper(Context context) {
super(context, DB_NAME, null, VERSION);
}
/*
* public DBManager(Context context, String name, CursorFactory factory, int
* version) { super(context, name, factory, version); // TODO Auto-generated
* constructor stub
*
* }
*/
/*
* 创建数据库的时候用到的语句,只会在创建数据库的时候执行一次
*/
@Override
public void onCreate(SQLiteDatabase db) {
// 数据类型:varchar、int、long、float、boolean、text、blob、clob等类型
// 建表语句执行
String sql = "create table person(pid integer primary key autoincrement,name varchar(64),address varchar(200))";
db.execSQL(sql);
}
/*
* 更新数据库的时候使用到的; 这一句在一开始的时候是不会添加的,
* 因为版本号是一样的只有执行一次之后,修改了版本号才会执行这段代码
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "alter table person add age integer";
db.execSQL(sql);
}
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
}
}
网友评论