1. 程式人生 > >【安卓9】SQLiteDatabase類、ContentValues 類

【安卓9】SQLiteDatabase類、ContentValues 類

election use cursor 數據類型 ssa 語言 size 基本 模式

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 類