首页 > 代码库 > 【安卓9】SQLiteDatabase类、ContentValues 类
【安卓9】SQLiteDatabase类、ContentValues 类
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可以是所有基本类型的包装类
【安卓9】SQLiteDatabase类、ContentValues 类