在android中通过游标从sqlite数据库读取数据时发生异常
我的数据已成功添加到数据库中。我已通过调试代码对其进行了检查。但当我使用游标读取此数据时,它会引发以下异常:在android中通过游标从sqlite数据库读取数据时发生异常,android,sqlite,Android,Sqlite,我的数据已成功添加到数据库中。我已通过调试代码对其进行了检查。但当我使用游标读取此数据时,它会引发以下异常: java.lang.IllegalStateException:无法从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化。以下是我的数据库助手功能代码: `///get schools public ArrayList<SchoolModel> getS
java.lang.IllegalStateException:无法从游标窗口读取第0行第1列。在从光标访问数据之前,请确保光标已正确初始化。
以下是我的数据库助手功能代码:
`///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;
}
`///获得学校
公共阵列列表学校(){
学校。清除();
SQLiteDatabase db=this.getReadableDatabase();
Cursor Cursor=db.rawQuery(“选择*从学校”,null);
如果((cursor.getCount()>0)){
if(cursor.moveToFirst()){
做{
学校模型项=新学校模型();
item.SchoolID=cursor.getInt(cursor
.getColumnIndex(“学号”);
item.Address=cursor.getString(cursor
.getColumnIndex(“地址”);
item.Cell=cursor.getString(cursor
.getColumnIndex(“单元格”);
item.ContactPerson=cursor.getString(cursor
.getColumnIndex(“联系人”);
item.Description=cursor.getString(cursor
.getColumnIndex(“说明”);
item.Phone=cursor.getString(cursor
.getColumnIndex(“电话”);
item.AreaID=cursor.getInt(cursor
.getColumnIndex(“AreaID”);
学校。添加(项目);
}while(cursor.moveToNext());
}
}
cursor.close();
db.close();
返校;
}
谁能告诉我我做错了什么
item.SchoolID = cursor.getInt(cursor .getColumnIndex("SchoolID "));
可能在大写字母D之后删除withe空格会有所帮助