SQLiteDatabase类——转载(http://www.cnblogs.com/tt_mc/archive/2010/03/09/1681540.html)

来源:互联网 发布:自学剑道软件 编辑:程序博客网 时间:2024/06/07 05:25

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);
}
}

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 买的认证服务号没有微信支付怎么办 手机微信里的外网链接打不开怎么办 微信违规无法加入群聊怎么办 苹果手机微信储存空间不足怎么办 拼多多砍价砍不到0元怎么办 妻子婚内出轨我的熟人怎么办 父亲怀疑母亲有外遇作为儿子怎么办 老婆出轨我总心理过不去坎该怎么办 失业人员离培训机构远了怎么办 遇到申请假冒商品的仅退款怎么办 微信被骗什么消息都不知道怎么办 微信用手机登录显示未注册怎么办 唯品会海淘订单取消不了怎么办 大排量摩托芯片钥匙断了怎么办 夏天太热在宿舍没空调怎么办? 汽车钥匙掉了怎么办半路到不了家 当顾客说产品太贵的时候 怎么办 邮件还没有下载被发送者删除怎么办 绝地求生号被盗了怎么办邮箱没有用 暴雪忘了密码换了手机号怎么办 华为荣耀10看电视缓冲太慢怎么办 交易猫梦幻西游手游恶意仲裁怎么办 银色高跟鞋前面尖尖蹭掉色了怎么办 苹果账号邮箱和密码都忘了怎么办 网易云密码忘记了怎么办手机号换了 超市买过期东西但没有小票怎么办 网购退货商家已收货而不退款怎么办 手机号被别人注册了京东怎么办 中通快递把我发的货弄坏了了怎么办 在淘宝获取不了丰巢柜提货码怎么办 京东快递提货码数手机号错了怎么办 腾讯手游助手不能玩刺激战场怎么办 刚收的京东快递质量有问题怎么办 拼多多买家接受信息没有声音怎么办 苹果6s外放声音有杂音怎么办 华为手机不小心把视频删了怎么办 电脑做完系统不显示声卡了怎么办 苹果手机自带浏览器看视频卡怎么办 pr剪辑的时候视频太卡怎么办 小米手机忘记登录账号密码了怎么办 石膏线条软模硅胶模具气泡多怎么办