写在前面的话,本文转载自http://www.eoeandroid.com/thread-81911-1-1.html
package eoe.demo; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * * 数据库版本控制类 * SQLiteOpenHelper是一个数据库版本的控制超类 * */ public class MangerDatabase extends SQLiteOpenHelper { private static final String name="shool"; private static final int version=2; /** * * @param context 上下文信息 * @param name 数据库名称 * @param CursorFactory factory 游标工厂 * @param version 数据库版本 * 执行数据参数的初始化工作 */ public MangerDatabase(Context context) { //调用超类的构造方法 super(context, name, null, version); } /** * 如果没有数据库中没有此表 就创建表结构 覆写超类的创建的方法 * 这个方法在超类中是一个只有方法体没有实现体的 * onCreate 创建方法 在用户执行调用获取用户数据库管理时例就已经执行 * 此方法是超类存在的 并且由 getWritableDatabase()这个方法调用的 */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20), age INTEGER,xxx INTEGER)"); } /** * 执行更新 如果表存在 将执行更新操作 * oldVersion 老版本号 * newVersio 新版本号 * onUpgrade 创建方法 在用户执行调用获取用户数据库管理时例就已经执行 * 此方法是超类存在的 并且由 getWritableDatabase()这个方法调用的 */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //先删除 db.execSQL("DROP TABLE IF EXISTS person"); //调用方法执行创建 onCreate(db); } }