设为首页 加入收藏

TOP

Android数据库之SQLiteDatabase类
2014-11-24 02:29:34 来源: 作者: 【 】 浏览:1
Tags:Android 数据库 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);
}
}


推荐阅读


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux Shell 文本处理工具集锦 下一篇Android读取Txt文件

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: