SQLiteDatabase類——轉載(http://www.cnblogs.com/tt_mc/archive/2010/03/09/1681540.html)

SQLiteDatabase類

實現數據庫基本操作
數據庫創建的問題解決了,接下來就該使用數據庫實現應用程序功能的時候了。基本的操作包括創建、讀取、更新、刪除,即我們通常說的CRUD(Create, Read, Update, Delete)。在實現這些操作的時候,我們會使用到兩個比較重要的類SQLiteDatabase類和Cursor類。

     SQLiteDatabase類在上面已經接觸過了,這個類是核心類,用於管理和操作SQLite數據庫,幾乎所有的數據庫操作,最終都將由這個類完成。

Cursor類主要用於保存查詢返回的結果,提供隨機讀、寫的功能,從這一點上來看,有點類似於ado中的Dataset。Cursor類非常重要,在數據庫操作中,在UI中,經常會用到Cursor,所以大家一定要掌握Cursor 的用法。

    下面我們用實例來說明如何實現CRUD操作。首先,我們創建一個客戶資料相關的數據存取類,在這個類中,我們實現基本的增刪改查等操作,需要的話,大家可以自己添加其它的代碼等等,這裏我們只是演示數據庫的基本操作。

   限於篇幅,這裏就不詳細解釋了,代碼中都有詳細的註釋,如下所示:

view plaincopy to clipboardprint?

package com.yulingkong.customer;

//爲了節省篇幅,忽略了import項,請自行添加

public
class CustomerAL {

// 表名稱

private
static
final String TABLE_NAME = “Customers”;

private SQLiteDatabase mDB;

/**
* CustomerAL構造函數
* @param db SQLiteDatabase類實例
*/

public CustomerAL(SQLiteDatabase db) {
mDB = db;
}

/**
* 添加客戶資料
* @param name 客戶姓名
* @param address 客戶地址
*/

public
long add(String name, String address) {

// 使用ContentValues保存列和列對應的值
ContentValues values = new ContentValues();

    values.put("Name", name); 
    values.put("Address", address); 

// 調用SQLiteDatabase類的insert函數添加記錄

return mDB.insert(TABLE_NAME, null, values);
}

/**
* 刪除客戶資料
* @param id 客戶的id號
*/

public
int delete(long id) {

// 查詢條件語句
String[] whereArgs = new String[]{Long.toString(id)};

// 查詢匹配條件,與selection要對應
String whereClause = “_id=?”;

// 調用SQLiteDatabase類的delete函數刪除記錄

return mDB.delete(TABLE_NAME, whereClause, whereArgs);
}

/**
* 根據客戶的id,查詢客戶的資料,查詢結果保存在Cursor中
* @param id 客戶的id號
*/

public Cursor getById(long id) {

// 要返回的列
String[] columns = new String[]{“Name”, “Address”};

// 查詢條件語句
String selection = “_id=?”;

// 查詢匹配條件,與selection要對應
String[] selectionArgs = new String[]{Long.toString(id)};

// 調用SQLiteDatabase類的query函數查詢記錄

return mDB.query(TABLE_NAME, columns, selection, selectionArgs, null, null, null);
}

/**
* 返回所有的客戶資料
*/

public Cursor getAll() {

// 需要返回的列
String[] columns = new String[]{“Name”, “Address”};

// 調用SQLiteDatabase類的query函數查詢記錄

return mDB.query(TABLE_NAME, columns, null, null, null, null, null);
}
}

發佈了25 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章