android数据库工具库,android 数据库工具种MyDbHelper

当前位置:我的异常网» 数据库 » android 数据库工具种MyDbHelper

android 数据库工具种MyDbHelper

www.myexceptions.net  网友分享于:2013-08-28  浏览:151次

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;

}

public void close() {

mDbHelper.close();

}

/**

* Create a new note using the title and body provided. If the note is successfully created

* return the new rowId for that note, otherwise return a -1 to indicate failure.

*

* @param title the title of the note

* @param body the body of the note

* @return rowId or -1 if failed

*/

public long createNote(String title, String body) {

ContentValues initialValues = new ContentValues();

initialValues.put(KEY_TITLE, title);

initialValues.put(KEY_BODY, body);

return mDb.insert(DATABASE_TABLE, null, initialValues);

}

/**

* Delete the note with the given rowId

*

* @param rowId id of note to delete

* @return true if deleted, false otherwise

*/

public boolean deleteNote(long rowId) {

return mDb.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;

}

/**

* Return a Cursor over the list of all notes in the database

*

* @return Cursor over all notes

*/

public Cursor fetchAllNotes() {

return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, KEY_TITLE,KEY_BODY}, null, null, null, null, null);

}

/**

* Return a Cursor positioned at the note that matches the given rowId

*

* @param rowId id of note to retrieve

* @return Cursor positioned to matching note, if found

* @throws SQLException if note could not be found/retrieved

*/

public Cursor fetchNote(long rowId) throws SQLException {

Cursor mCursor = mDb.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,KEY_TITLE,

KEY_BODY}, KEY_ROWID + "=" + rowId, null, null, null, null, null);

if (mCursor != null) {

mCursor.moveToFirst();

}

return mCursor;

}

/**

* Update the note using the details provided. The note to be updated is specified using the rowId,

*and it is altered to use the title and body values passed in

*

* @param rowId id of note to update

* @param title value to set note title to

* @param body value to set note body to

* @return true if the note was successfully updated, false otherwise

*/

public boolean updateNote(long rowId, String title, String body) {

ContentValues args = new ContentValues();

args.put(KEY_TITLE, title);

args.put(KEY_BODY, body);

return mDb.update(DATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null) > 0;

}

}

文章评论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值