swsrl 发表于 2016-12-1 06:35:58

Android中对SQLite的操作

  1. 总论
  通常自定义类,并继承自SQLiteOpenHelper,在默认的构造函数中,会调用父类的构造函数。只需将数据库名传入即可。

super(context, DATABASE_NAME, null, DATABASE_VERSION);
  2. 创建表
  首先,获取一个可写的数据库对象:

database = this.getWritableDatabase();
  然后,调用execSQL方法:

database.execSQL("CREATE TABLE " + TABLE_NAME + " ("
+ ID   + " INTEGER not null, "
+ TITLE+ " text not null, "
+ BODY + " text not null, "
+ DATE   + " text not null, "
+ TIME   + " text not null, "
+ PEOPLE + " text not null " + ");"
);
  3. 删除表
  同理,执行execSQL方法:

database.execSQL("drop table if exists " + TABLE_NAME + ";");
  4. 查询记录
  核心代码就一句:

Cursor c = database.query(tableName, columns, whereClause, values,null, null, null);
  5. 插入记录
  需要用ContentValue来构造,其实就是一个Map<String, String>。

ContentValues itemValue = new ContentValues();
itemValue.put(ID, (Integer) item.get(ID));
itemValue.put(TITLE, (String) item.get(TITLE));
itemValue.put(BODY, (String) item.get(BODY));
itemValue.put(DATE, (String) item.get(DATE));
itemValue.put(TIME, (String) item.get(TIME));
itemValue.put(PEOPLE, (String) item.get(PEOPLE));
database.insert(tableName, null, itemValue);

  6. 删除记录

rows = database.delete(tableName, this.getPEOPLE() + "=?",new String[] { value });
  返回影响的行数。
  7. 通用操作

database.execSQL( ... )
  除查询外的操作(如:CREATE TABLE, DELETE, INSERT)都可以在这里进行,和Hibernate里面直接执行本地sql类似。
页: [1]
查看完整版本: Android中对SQLite的操作