Android中cursor類的使用

2021-08-26 01:57:34 字數 1963 閱讀 6425

android中從資料庫中查出來的資料一般都存在cursor中即:cursor mcursor = msqlitedatabase.query("select * form table", null),說白了就是乙個資料集合,具體的說就是每行資料集合,下面是api中對cursor的解釋

關於 cursor,

1,cursor 是每行的集合。

2,使用 movetofirst() 定位第一行。

3,cursor 是乙個隨機的資料來源。

4,所有的資料都是通過下標取得。

cursor 的一些方法,

close

()關閉游標,釋放資源

copystringtobuffer

(int columnindex,

chararraybuffer

buffer)

在緩衝區中檢索請求的列的文字,將將其儲存

getcolumncount

()返回所有列的總數

getcolumnindex

(string

columnname)

返回指定列的索引,如果不存在返回-1

getcolumnindexorthrow

(string

columnname)

從零開始返回指定列名稱,如果不存在將丟擲

illegalargumentexception

異常。

getcolumnname

(int columnindex)

從給定的索引返回列名

getcolumnnames

()返回乙個字串陣列的列名

getcount

()返回cursor 中的行數

movetofirst

()移動游標到第一行

movetolast

()移動游標到最後一行

movetonext

()移動游標到下一行

movetoposition

(int position)

移動游標到乙個絕對的位置

movetoprevious

()移動游標到上一行

1 看些這幾行**一般是判斷cursor是否為空,也就是沒資料

if (cur.movetofirst() == false)

或者

if (null != cur )

其實第二中方法方便,第一種是為了便於理解

2 通過cursor 的下標獲得資料,下標我的理解是每行行的第幾列,下面方法就是獲得某行中某列的資料

int namecolumnindex = cur.getcolumnindex("name");

string name = cur.getstring(namecolumnindex);

其中name為列名,首先通過列名稱找出在該行中位於第幾列,通過列索引找出該行中name欄位的值

3,遍歷cursor中每行資料

while(cur.movetonext())

或者

do while(cur.movetonext())

要是不想用上面這2種迴圈,習慣用for迴圈,google有方法實現for迴圈

for(cur.movetofirst();!cur.isafterlast();cur.movetonext())

isbeforefirst()

返回游標是否指向之前第一行的位置

isafterlast

()返回游標是否指向第最後一行的位置

isclosed()

Android中cursor類的使用

android中從資料庫中查出來的資料一般都存在cursor中即 cursor mcursor msqlitedatabase.query select form table null 說白了就是乙個資料集合,具體的說就是每行資料集合,下面是api中對cursor的解釋 關於 cursor,1,cu...

Android中的 Cursor 類總結

cursor是把查詢到的結果集封裝在乙個cursor物件當中。cursor就像是結果集上的乙個游標,可以向前向後移動。取出cursor中的資料一般是用 while cursor.movetonext 很多時候,不要忘記movetofirst 一般都是從第一行開始取值 移動到需要的行的時候,根據下標來...

Android中的 Cursor 類總結

cursor是把查詢到的結果集封裝在乙個cursor物件當中。cursor就像是結果集上的乙個游標,可以向前向後移動。取出cursor中的資料一般是用 while cursor.movetonext 很多時候,不要忘記movetofirst 一般都是從第一行開始取值 移動到需要的行的時候,根據下標來...