0

c.getString(i+2)不工作;我错过了这些代码吗?

错误 :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);
}
}
4

1 回答 1

3

我很确定循环12for应该是一个11. 有 11 节课,索引从 2 到 12(含),由于您要添加两个,这意味着索引的范围应为 0 到 10(含)。

或者您可以运行for从 2 到 12 的循环而不添加两个:

for (i = 2; i <= 12; i++)
    justUse (i);
于 2013-05-05T12:37:18.013 回答