寫在前面的話,本文轉載自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()這個方法調用的*/@Overridepublic 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()這個方法調用的*/@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//先刪除db.execSQL("DROP TABLE IF EXISTS person");//調用方法執行建立onCreate(db);}}