一起Talk Android吧(第二百三十回:Android中的數據存儲之數據庫五)

各位看官們大家好,上一回中咱們說的是Android中數據存儲之數據庫的例子,這一回咱們繼續說該例子。閒話休提,言歸正轉。讓我們一起Talk Android吧!

看官們,我們在上一章回中介紹瞭如何在數據庫中刪除數據,這一回中我們將介紹如何在數據庫中查詢數據。查詢數據需要使用SQLiteDatabase類的query方法,其函數原型如下:

public Cursor query (String table, String[] columns, String selection, 
               String[] selectionArgs, String groupBy, String having, String orderBy)

該方法是重載方法,一共四個,我們只列舉其中的一個方法。此方法中各參數的含義如下:

  • 第一個參數是數據庫中表的名字;
  • 第二個參數表示查詢的列名;
  • 第三個參數表示查詢的行名;
  • 第四個參數表示匹配的內容值;
  • 第五個參數表示查詢結果分類的依據;
  • 第六個參數表示分類的依據值;
  • 第七個參數表示查詢結果的排序方式,比如升序,降序;

該方法返回Cursor類型的對象。它是一種封裝數據的類型,從Cursor中提取出的數據類似Intent,也是使用getInt()等方法,不同之處爲方法中不是普通的key,而是表中列的索引,使用cursor.getColumnIndex("name")獲取的key,這裏的name是表中的列名。另外Cursor也有類似集合中迭代器一樣的功能,用於遍歷其中的內容。 下面是具體的代碼示例,我們在代碼中複用了前面章回中SQLiteDatabase類的對象,請大家參考:

//查詢數據庫Student表中的數據
//沒有使用查詢條件,因此查找到表中所有的內容
public void  QueryData() {
    Log.i(TAG, "QueryData: ");
    Cursor cursor = mDatabase.query("Student",null , null, null, null, null, null);
    if(cursor.moveToFirst()) {
        do{
            String name = cursor.getString(cursor.getColumnIndex("name"));
            int age = cursor.getInt(cursor.getColumnIndex("age"));
            String className = cursor.getString(cursor.getColumnIndex("class"));
            Log.i(TAG,"Name: "+name+" Age: "+ age +" Class: "+className);
        }while (cursor.moveToNext());
    }
    cursor.close();
}

各位看官,關於Android中數據存儲之數據庫的例子咱們就介紹到這裏,欲知後面還有什麼例子,且聽下回分解!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章