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);
}
}
- SQLiteDatabase类——转载(http://www.cnblogs.com/tt_mc/archive/2010/03/09/1681540.html)
- .net常用的类库网络转载(http://www.cnblogs.com/and/archive/2010/03/24/1693970.html)
- 转载——tty console 串口 http://www.cnblogs.com/armlinux/archive/2010/08/19/2396938.html
- Android数据库 之 SQLite数据库(转http://www.cnblogs.com/kgb250/archive/2012/08/28/sqlitedatabase.html)
- Delphi 文件操作 http://www.cnblogs.com/nothing_cj/archive/2010/09/03/1817256.html
- PHP获取随机数 http://www.cnblogs.com/hailexuexi/archive/2010/09/03/1817442.html
- 正则表达式备忘-----------转载自http://www.cnblogs.com/KissKnife/archive/2008/03/23/1118423.html
- ubuntu远程桌面(转载来源http://www.cnblogs.com/xdzone/archive/2011/03/10/1979644.html)
- 转载至http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
- mapinfo操作(转载http://www.cnblogs.com/glacierh/archive/2008/08/07/1263044.html)
- Android LayoutInflater详解 (转载:http://www.cnblogs.com/top5/archive/2012/05/04/2482328.html)
- Matlab 文件操作(转载http://www.cnblogs.com/longdouhzt/archive/2013/01/29/2881749.html)
- Linux C语言错误处理(转载)http://www.cnblogs.com/nliao/archive/2010/09/09/1822647.html
- JavaScript逻辑操作符 转载自博客园 http://www.cnblogs.com/pigtail/archive/2012/03/09/2387486.html
- Boost智能指针——weak_ptr(转自http://www.cnblogs.com/TianFang/archive/2008/09/20/1294590.html)
- PowerDesigner教程系列(一)概念数据模型 转载(http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html)
- PowerDesigner教程系列(三)概念数据模型 转载(http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html)
- PowerDesigner教程系列(四)概念数据模型 转载(http://www.cnblogs.com/yxonline/archive/2007/04/09/705479.html)
- android 自定义控件 播放gif 既可以是从网络上获取资源 也可以是本地资源
- 在linux下使用转码器(音频转码)
- error--
- I2S 技术相关
- IAR-stm32新建一个工程
- SQLiteDatabase类——转载(http://www.cnblogs.com/tt_mc/archive/2010/03/09/1681540.html)
- Java问题定位
- SD卡插拔发生的广播
- ns3::UnixDatagramSocketFd::DoRecvmsg
- C++:类模板2(多个数中的最大数)
- 八数码问题有解的条件及其推广
- MATLAB中,可以用于计算数组或者矩阵元素总个数的方法
- iOS 百度地图 判断应用是否授权、地理位置的正反编码
- VIP的转移