歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android數據庫之SQLiteDatabase類

Android數據庫之SQLiteDatabase類

日期:2017/3/1 9:51:21   编辑:Linux編程

實現數據庫基本操作

數據庫創建的問題解決了,接下來就該使用數據庫實現應用程序功能的時候了。基本的操作包括創建、讀取、更新、刪除,即我們通常說的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);
}
}

Copyright © Linux教程網 All Rights Reserved