Android中使用Sqlite數據庫 (一) 建表

一、實現一個類,繼承SQLiteOpenHelper類,並實現構造函數,onCreate()  onUpgrade()

import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class DbOpenHelper extends SQLiteOpenHelper {
    private static String name = "mydb.db";// 表示數據庫的名稱
    private static int version = 2;// 表示數據庫的版本號碼
    public DbOpenHelper(Context context) {
        super(context, name, null, version);
    }
    // 當數據庫創建的時候,是第一次被執行,完成對數據庫的表的創建
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        //支持的數據類型:整型數據,字符串類型,日期類型,二進制的數據類型,
        String sql = "create table person(id integer primary key autoincrement,name varchar(64),address varchar(64))";
        db.execSQL(sql);
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        String sql = "alter table person add sex varchar(8)";
        db.execSQL(sql);
    }
}

只有當調用getWritableDatabase()或getReadableDatabase()時才調用onCreate()


import com.example.android_db.db.DbOpenHelper;
import android.test.AndroidTestCase;
public class MyTest extends AndroidTestCase {
    public MyTest() {
        // TODO Auto-generated constructor stub
    }
      
    public void createDb(){
        DbOpenHelper helper = new DbOpenHelper(getContext());
        helper.getWritableDatabase();
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章