0

データがデータベースに正常に追加されました。コードをデバッグして確認しました。しかし、カーソルを使用してこのデータを読み取ると、次の例外がスロー java.lang.IllegalStateException: Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.されます。データベースヘルパー関数のコードは次のとおりです。

                                `///get schools
                    public ArrayList<SchoolModel> getSchools() {

                        school.clear();

                        SQLiteDatabase db = this.getReadableDatabase();
                        Cursor cursor = db.rawQuery("select * from School", null);
                        if ((cursor.getCount() >0)){
                            if (cursor.moveToFirst()) {
                                do {
                                    SchoolModel item = new SchoolModel();
                                    item.SchoolID = cursor.getInt(cursor
                                            .getColumnIndex("SchoolID "));
                                    item.Address= cursor.getString(cursor
                                            .getColumnIndex("Address"));
                                    item.Cell= cursor.getString(cursor
                                            .getColumnIndex("Cell"));
                                    item.ContactPerson= cursor.getString(cursor
                                            .getColumnIndex("ContactPerson"));
                                    item.Description= cursor.getString(cursor
                                            .getColumnIndex("Description"));
                                    item.Phone= cursor.getString(cursor
                                            .getColumnIndex("Phone"));
                                    item.AreaID = cursor.getInt(cursor
                                            .getColumnIndex("AreaID"));


                                    school.add(item);

                                } while (cursor.moveToNext());
                            }
                        }
                        cursor.close();
                        db.close();
                        return school;
                    }

誰が私が間違っているのか教えてもらえますか?

4

1 に答える 1

1
 item.SchoolID = cursor.getInt(cursor  .getColumnIndex("SchoolID "));

おそらく、大文字の D の後に with スペースを削除すると役立つ可能性があります

于 2013-07-08T10:48:12.840 に答える