Android中使用SQLite的方法

来源:互联网 发布:淘宝触摸屏版 编辑:程序博客网 时间:2024/06/08 07:23

步骤:

1. 创建类集成SQLiteOpenHelper

    注: 1) 构造函数中的CursorFactory通常传入null

          2) 第一次创建数据库时调用onCreate方法, 通常在这里创建表

db.execSQL("create table tablename(id int, name varchar(20))");

          3) 当version改变时调用onUpdate方法

2. 通过SQLiteOpenHelper.getReadableDatabase()方法或者SQLiteOpenHelper.getWritableDatabase()方法获取SQLiteDatabase对象

SQLiteOpenHelper dbHelper = new MySQLiteHelper(context, "table name", null, version);SQLiteDatabase db = dbHelper.getReadableDatabase();

注: getReadableDatabase和getWritableDatabase的区别在于,当数据库磁盘满时前者会以只读方式打开数据库,后者会报错.

3.通过SQLiteDatabase进行数据表中数据的增删改查操作

    注: 1)插入操作(使用ContentValues)

ContentValues values = new ContentValues();// 向该对象中插入键值对, 键位列名,置为插入相应列的值,值必须与列的数据类型匹配values.put("id", 1);values.put("name", "myname");db.insert("table_name", null, values);

          2)更新操作

ContentValues values = new ContentValues();// 要更新的列及新的值values.put("name", "new_name");// 第三个参数是where子句, 第四个参数是where子句的值db.update("table_name", values, "id=?", new String[]{"1"});

         3)查询操作

// 参数一: 表名, 参数二: 要筛选的列名, 参数三: select语句, 参数四: select语句值, 参数五: groupby语句, 参数六: having语句, 参数七: orderby语句Cursor cursor = db.query("table_name", new String[]{"column_one", "column_two"}, "column_one=?", new String[]{"1"}, null,null,null);while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name"));}   

         4)删除操作

// 参数一:表名;参数二:where语句;参数三:where语句值db.delete("table_name", "id<?", new String[]{"3"});

 

注: 当然,如果项目比较大,最好将数据库操作封装起来(model类)
 

原创粉丝点击