2013-05-05 84 views
0

c.getString(i+2) does not work;我錯過了這些代碼的東西?c.getString could not get field

錯誤:java.lang.IllegalStateException: get field slot from row 0 col 13 failed

...

static String [] lesson_value; 
    String query = "SELECT id, tag, lesson1, lesson2, lesson3, lesson4, lesson5," + 
        " lesson6, lesson7, lesson8, lesson9, lesson10,lesson11 " + 
        "from mytable order by id DESC limit 1"; 
      Cursor c = db.rawQuery(query,null); 
      if (c != null && c.moveToFirst()) { 
        for(int i=0; i<12; i++) { 
       if (c.getString(i+2) != null) { 
        lesson_value[i] = c.getString(i+2); 
} 
} 
+0

什麼是+2?爲什麼你必須將2加入到我的? – 2013-05-05 12:32:52

回答

3

我敢肯定,12for環應該是一個11。有11節課,索引2到12包含在內,因爲你加了兩個,這意味着索引應該在0到10之間。

也可以運行從2到12包容for循環不增加了兩個:

for (i = 2; i <= 12; i++) 
    justUse (i); 
+0

哎呀,是的,我不能意識到它隨着時間的推移; – metemet06 2013-05-05 12:40:54