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 的下標獲得資料,下標我的理解是每行行的第幾列,下面方法就是獲得某行中某列的資料
其中name為列名,首先通過列名稱找出在該行中位於第幾列,通過列索引找出該行中name欄位的值int namecolumnindex = cur.getcolumnindex("name");
string name = cur.getstring(namecolumnindex);
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 一般都是從第一行開始取值 移動到需要的行的時候,根據下標來...