数据库操作(2)------------SQLite存储方式
来源:互联网 发布:淘宝名字大全2016款女 编辑:程序博客网 时间:2024/06/07 22:27
一、知识提要
1、Android应用总要用到数据存储,用户有时候需要将自己的数据存储到文件系统或数据库中,最常用的SQLite,SQLite是轻量级嵌入式数据库,它支持SQL语句。
2、SQLiteDatabase的实例代表了一个SQLite数据库,可通过它的实例方法,对数据库操作(增删查改)。
3、SQLiteOpenHelper---这是一个抽象类,通过其中getWriterDatabase()、getReaderDatabase()方法,可以生成一个数据库。
继承这个类的时候,要实现其中的3个方法:
(1)onCreate(SQLiteDatabase)-------数据库第一次生成时调用,生成数据库表。
(2)onUpgrade(SQLiteDatabase,int ,int )-------升级数据库。
(3)onOpen(SQLiteDatabase)-------打开数据库的回调函数,一般不会用到。
二、创建数据表
1、代码
private static class DatabaseHelper extends SQLiteOpenHelper {DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {String sql = "CREATE TABLE " + TABLE_NAME + " (" + TITLE + " text not null, " + BODY + " text not null " + ");";Log.i("mqw:createDB=", sql);//将参数打印到日志中,打印级别是Infodb.execSQL(sql);//执行SQL语句}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}}2、主界面
三、插入记录
1、代码
private void insertItem() {SQLiteDatabase db = mOpenHelper.getWritableDatabase();//得到一个可写的数据库String sql1 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY+ ") values('mqw', '西南大学');";String sql2 = "insert into " + TABLE_NAME + " (" + TITLE + ", " + BODY+ ") values('mqy', '宁夏大学');";try {Log.i("mqw:sql1=", sql1);Log.i("mqw:sql2=", sql2);db.execSQL(sql1);db.execSQL(sql2);setTitle("插入两条数据成功");} catch (SQLException e) {setTitle("插入两条数据失败");}}
四、查询数据库
1、代码
private void showItems() {SQLiteDatabase db = mOpenHelper.getReadableDatabase();String col[] = { TITLE, BODY };Cursor cur = db.query(TABLE_NAME, col, null, null, null, null, null);Integer num = cur.getCount();setTitle(Integer.toString(num) + " 条记录");}
2、说明
(1)query(table_name, columns, selection, selectionArgs, groupBy, having, orderBy, limit)
table_name----表名。相当于select语句from关键字后面的部分。如果是多表联合查询,可以用逗号将两个表名分开。
columns----要查询出来的列名。相当于select语句select关键字后面的部分。
selection----查询条件子句,相当于select语句where关键字后面的部分,在条件子句允许使用占位符“?”
selectionArgs----对应于selection语句中占位符的值,值在数组中的位置与占位符在语句中的位置必须一致,否则就会有异常。
groupBy----相当于select语句group by关键字后面的部分
having----相当于select语句having关键字后面的部分
orderBy----相当于select语句order by关键字后面的部分
limit----指定偏移量和获取的记录数,相当于select语句limit关键字后面的部分
(2)Cursor----Android的一个接口,数据库查询得到的结果集放在其中。
(3)cur.getCount()----得到当前Cursor中数据个数。
五、删除记录
1、代码
private void deleteItem() {try {SQLiteDatabase db = mOpenHelper.getWritableDatabase();db.delete(TABLE_NAME, " title = 'mqw'", null);setTitle("删除title为mqw的一条记录");} catch (SQLException e) {}}
2、说明
db.delete(TABLE_NAME, 删除条件, 参数)
删除条件相当于where子句,参数是替换“删除条件”中的 “?“。
六、删除数据表
private void dropTable() {SQLiteDatabase db = mOpenHelper.getWritableDatabase();String sql = "drop table " + TABLE_NAME;try {db.execSQL(sql);setTitle("数据表成功删除:" + sql);} catch (SQLException e) {setTitle("数据表删除错误");}}
七、重建数据表
private void CreateTable() {SQLiteDatabase db = mOpenHelper.getWritableDatabase();String sql = "CREATE TABLE " + TABLE_NAME + " (" + TITLE+ " text not null, " + BODY + " text not null " + ");";Log.i("mqw:createDB=", sql);try {db.execSQL("DROP TABLE IF EXISTS diary");db.execSQL(sql);setTitle("数据表成功重建");} catch (SQLException e) {setTitle("数据表重建错误");}}
0 0
- 数据库操作(2)------------SQLite存储方式
- 存储方式三:数据库SQLite(SQLiteOpenHelper)
- android的基础学习:SQLite存储方式以及数据库操作
- Android中SQLite数据库存储方式 .(转)
- Android数据存储方式(三)SQLite数据库
- Android数据存储方式(三)SQLite数据库
- SQLite数据库的操作--数据库存储
- Android中SQLite数据库存储方式
- Android中SQLite数据库存储方式
- zz Android中SQLite数据库存储方式
- Android中SQLite数据库存储方式
- android存储方式之sqlite数据库
- Android中SQLite数据库存储方式
- 数据存储之SQLite数据库操作
- 使用SQLiteDatabase操作SQLite数据库存储数据
- 数据存储之 SQLite 数据库操作(一)
- 数据存储之 SQLite 数据库操作(二)
- 数据存储之 SQLite 数据库操作(三)
- windows下XAMPP安装php_memcache扩展
- Tomcat如何添加管理员
- 回归CSDN
- 互斥问题总结
- 并查集-按秩合并
- 数据库操作(2)------------SQLite存储方式
- 深度学习笔记7 Working with Large Images 卷积特征提取
- 后缀式求值
- HDU 5119 Happy Matt Friends(DP)
- 搭建Git服务器
- KMP算法推导
- jstl
- 学习笔记
- cvCornerHarris角点检测