Android 台灣中文網

標題: 用迴圈抓出SQLITE資料的小問題,怎麼抓的都視同一筆?? [打印本頁]

作者: qb425425    時間: 2013-6-3 17:44
標題: 用迴圈抓出SQLITE資料的小問題,怎麼抓的都視同一筆??
本帖最後由 qb425425 於 2013-6-3 18:50 編輯
  1. String c_ID = cursor.getString(0);
  2. //第0個欄位,_ID
  3. String[] s_c_ID= new String[cursor.getCount()];
  4. //要抓的內容
  5. s_c_ID[0]=c_ID;
  6. Log.i("_ID",s_c_ID[0]+"");
  7.    
複製代碼
上面的寫法就可以抓出來


可是資料很多筆,如果想要用迴圈把資料每筆都抓出來
ID的資料分別有3筆分別是  1   200   3000

我是這樣子弄
  1. String c_ID = cursor.getString(0);
  2. //第0個欄位,_ID
  3. String[] s_c_ID= new String[cursor.getCount()];

  4. for (int i = 0; i < s_c_ID.length; i++) {
  5.                         s_c_ID[i]=c_ID;
  6.                 Log.i("_ID",s_c_ID[i]+"");
複製代碼
可是他的輸出結果會變成
1
1
1
我的想法是讓他輸出結果變成
1
200
3000
請問,我的迴圈該怎麼改呢?
作者: xjxuvup    時間: 2013-6-4 10:18
movetonext() 您沒加上這行
這行是移到下一筆資料
所以您取出來的都是第一筆資料
另外大部分都是用while來取出資料
您可以參考網路上不同的寫法
作者: qb425425    時間: 2013-6-4 19:47
本帖最後由 qb425425 於 2013-6-4 19:55 編輯

請問一下
我照著大大的做了

我在還沒有
加入moveToNext();
的時候,按鈕不管案幾次輸出結果都是1

趙大大說的做
案紐按下
輸出是200

也就是我的第二筆資料
我在嘗試更換
moveToNext();
的位置

作者: whl    時間: 2013-6-4 19:54
qb425425 發表於 2013-6-4 19:47
請問一下
我照著大大的做了

  1. String[] s_c_ID= new String[cursor.getCount()];
  2. for (int i = 0; i < s_c_ID.length; i++) {
  3.     String c_ID = cursor.getString(0);
  4.     s_c_ID[i]=c_ID;
  5.     Log.i("_ID",s_c_ID[i]+"");
  6.     cursor.moveToNext();
  7. }
複製代碼
給你參考,基本迴圈要學好,人家都跟你說答案了。




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1