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); 
    } 
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值