私は次のクエリを実行しています:
String q = "select " + MySQLiteHelper.COLUMN_ID + ", "
+ MySQLiteHelper.COLUMN_TASK + ", "
+ MySQLiteHelper.COLUMN_PARENT + ", count(*) from "
+ MySQLiteHelper.TABLE_TASKS + " where "
+ MySQLiteHelper.COLUMN_ID + " = " + insertId + " group by "
+ MySQLiteHelper.COLUMN_ID + ", " + MySQLiteHelper.COLUMN_TASK
+ ", " + MySQLiteHelper.COLUMN_PARENT;
Cursor cursor = database.rawQuery(q, null);
取得したデータを次のように読み取ると、次のようになります。
task.setId(cursor.getLong(0));
task.setTask(cursor.getString(1));
task.setParent(cursor.getLong(2));
task.setChildren(cursor.getInt(3));
次のエラーが発生します。
03-15 22:15:06.078: E/AndroidRuntime(31426):
java.lang.IllegalStateException:
Couldn't read row 0, col 3 from CursorWindow.
Make sure the Cursor is initialized correctly before accessing data from it.
行を削除すると
task.setChildren(cursor.getInt(3));
正常に動作します。
誰かがここで何が間違っているのか、そしてそれを修正する方法を教えてもらえますか?