- 爱易网页
-
数据库教程
- android 数据库工具种MyDbHelper
日期:2014-05-16 浏览次数:20539 次
android 数据库工具类MyDbHelper
package com.tdd.db.util;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDbHelper {
public static final String KEY_TITLE = "title"; //数据表字段
public static final String KEY_BODY = "body"; //数据表字段
public static final String KEY_ROWID = "_id"; //数据表字段
private DatabaseHelper mDbHelper; //SQLiteOpenHelper实例对象
private SQLiteDatabase mDb; //数据库实例对象
//数据表创建语句
private static final String DATABASE_CREATE = "create table notes (_id integer primary key autoincrement, "
+ "title text not null, body text not null);";
private static final String DATABASE_NAME = "data"; //数据库名
private static final String DATABASE_TABLE = "notes"; //数据库表名
private static final int DATABASE_VERSION = 2; //数据库版本号
private final Context mCtx; //上下文实例
private static class DatabaseHelper extends SQLiteOpenHelper { //数据库辅助类
DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS notes");
onCreate(db);
}
}
/**
* Constructor - takes the context to allow the database to be opened/created
*
* @param ctx the Context within which to work
*/
public MyDbHelper(Context ctx) {
this.mCtx = ctx;
}
/**
* Open the notes database. If it cannot be opened, try to create a new instance of the database.
* If it cannot be created, throw an exception to signal the failure
*
* @return this (self reference, allowing this to be chained in an initialization call)
* @throws SQLException if the database could be neither opened or created
*/
public MyDbHelper open() throws SQLException {
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
return this;