【发布时间】:2014-04-29 15:06:07
【问题描述】:
我正在使用android和sqlite数据库,我想从colum nomMission获取数据
这是我所做的,但它不起作用
public List<Missions> getMissions() {
List<Missions> mission = new ArrayList<Missions>();
Cursor cursor = mDb.rawQuery("select nomMission from Missions", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Missions missionss = cursorToMission(cursor);
mission.add(missionss);
cursor.moveToNext();
}
// make sure to close the cursor
cursor.close();
return mission;
}
private Missions cursorToMission(Cursor cursor) {
Missions missions = new Missions(null, null);
missions.setNomMission(cursor.getString(1));
missions.setDateMission(cursor.getString(2));
return missions;
}
错误日志:
04-29 16:04:52.347: E/AndroidRuntime(4864): FATAL EXCEPTION: main
04-29 16:04:52.347: E/AndroidRuntime(4864): java.lang.RuntimeException: Unable to start activity ComponentInfo{tn.pfe.ybn.sigl/tn.pfe.ybn.sigl.DataManip.MissionAct}: java.lang.IllegalStateException: Couldn't read row 0, col 1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2077)
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2104)
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.app.ActivityThread.access$600(ActivityThread.java:134)
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.os.Handler.dispatchMessage(Handler.java:99)
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.os.Looper.loop(Looper.java:154)
04-29 16:04:52.347: E/AndroidRuntime(4864): at android.app.ActivityThread.main(ActivityThread.java:4624)
04-29 16:04:52.347: E/AndroidRuntime(4864): at java.lang.reflect.Method.invokeNative(Native Method)
04-29 16:04:52.347: E/AndroidRuntime(4864): at java.lang.reflect.Method.invoke(Method.java:511)
04-29 16:04:52.347: E/AndroidRuntime(4864): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
04-29 16:04:52.347: E/AndroidRuntime(4864): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
04-29 16:04:52.347: E/AndroidRuntime(4864): at dalvik.system.NativeStart.main(Native Method)
04-29 16:04:52.347: E/AndroidRuntime(4864): Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
【问题讨论】: