SQLiteDatabase类
android.database.sqlite.SQLiteDatabase类的实例都代表了一个SQLite数据库的操作,通过SQLiteDatabase类可以执行SQL语句,以完成对数据表的增加、修改、删除、查询等操作,在此类之中定义了基本的数据库执行SQL语句的操作方法以及一些操作的模式常量。
常量或方法 | 类型 | 描述 |
public static final int OPEN_READONLY | 常量 | 以只读方式打开数据库 |
public static final int OPEN_READWRITE | 常量 | 以读/写方式打开数据库 |
public static final int CREATE_IF_NECESSARY | 常量 | 如果指定的数据库文件不存在,则创建新的 |
public static final int NO_LOCALIZED_COLLATORS | 常量 | 打开数据库时,不对数据进行机遇本地化语言的排序 |
public void beginTransaction() | 普通 | 开始事务 |
public void endTransaction() | 普通 | 结束事务,提交或者是回滚数据 |
public void close() | 普通 | 关闭数据库 |
public void execSQL(String sql) | 普通 | 执行SQL语句 |
public void execSQL(String sql, Object[] bindArgs) | 普通 | 执行SQL语句,同时绑定参数 |
public static SQLiteDatabase openDatabase( String path, SQLiteDatabase.CursorFactory factory, int flags) | 普通 | 以指定的模式打开指定路径下的数据库文件 |
public static SQLiteDatabase openOrCreateDatabase( File file, SQLiteDatabase.CursorFactory factory) | 普通 | 打开或者是创建一个指定路径下的数据库 |
public long insert(String table, String nullColumnHack, ContentValues values) | 普通 | 插入数据,table为表名称,nullColumnHack表示传入的valuesnull,则列被设为null,values表示所有要插入的数据 |
public long insertOrThrow(String table, String nullColumnHack, ContentValues values) | 普通 | 插入数据,但会抛出SQLException异常 |
public int update(String table, ContentValues values,String whereClause, String[] whereArgs) | 普通 | 修改数据,table为表名称,values为更新数据,whereCluause指明WHERE子句,whereArgs为WHERE子句参数,用于替换“?” |
public int delete(String table, String whereClause, String[] whereArgs) | 普通 | 删除数据,table为表名称,whereClause指明WHERE子句,whereArgs为参数,用于替换“?” |
public boolean isOpen() | 普通 | 判断数据库是否是已打开 |
public void setVersion(int version) | 普通 | 设置数据库的版本 |
public Cursor query (boolean distinct, String table, String[] columns, String selection, String[]selectionArgs,String groupBy, String having, String orderBy, String limit) | 普通 | 执行数据表查询操作,其中的参数有distinct(是否去掉重复行)、table(表名称)、columns(列名称)、selection(WHERE子句)、selectionArgs(WHERE条件)、groupBy(分组)、having(分组过滤)、orderBy(排序)、limit(LIMIT子句) |
public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy , String having, String orderBy) | 普通 | 执行数据表查询操作 |
public Cursor rawQuery(String sql, String[] selectionArgs) | 普通 | 执行指定的SQL查询语句 |
ContentValues 类
ContentValues类包装了HashMap类,该类用于存取键值对的数据,每个键值对表示一列的列名和该列的数据。
常用方法
1、 ContentValues();
作用:无参构造方法,创建一个内部成员变量为HashMap<String,Object>的对象。该成员变量名为 mValues
2、 void put(String key,Object value);
作用:向成员变量mValues中存放一个键-值对数据
提示:value可以是Java的所有基本数据类型、数组、对象的类型
3、 Object get(String key);
作用:获取键名key对应的值。
4、 XXX getAsXXX(String key);
作用:返回XXX类型的值
提示:XXX可以是所有基本类型的包装类