所以在这里,我让这个应用程序从数据库中检索记录,我从我的数据库中有 5 个条目,并使用此代码检索它;
Cursor c = dbconnection.rawQuery("SELECT * from Patients", null);
之后,我循环它以检索数据库中的数据行;
c.moveToFirst();
while(!c.isAfterLast())
{
//Some code to put records per column in to a Patient Object
c.moveToNext();
}
所以我的问题是,当它进入循环时,我的模拟器冻结了,当我试图将每条记录显示到日志中时,我不会因为它自己已经冻结的模拟器。
有人可以启发我解决这个问题吗,这个问题对我来说真的很新
编辑
是的,已经尝试过 baya 和 ofir 的建议。他们解决了,但是我在使用这个循环代码的迭代过程中遇到了这个空错误
Cursor c = dbHelper.retrieveAllData();
c.moveToFirst();
while(c.moveToNext())
{
Log.d("dbcheck",Integer.toString(c.getPosition()));
//Log.d("dbcheck",c.getString(c.getColumnIndex("firstname")));
//Log.d("dbcheck",c.getString(c.getColumnIndex("lastname")));
**p.setFname(c.getString(c.getColumnIndex("firstname")));**
p.setMi(c.getString(c.getColumnIndex("middleinitial")));
p.setLname(c.getString(c.getColumnIndex("lastname")));
p.setAddr(c.getString(c.getColumnIndex("address")));
p.setAge(c.getInt(c.getColumnIndex("age")));
p.setMed_history(c.getString(c.getColumnIndex("med_history")));
p.setPat_status(c.getString(c.getColumnIndex("status")));
patientList.add(p);
}
我在 p.setFname() 行上有一个空异常错误。我不知道它是如何变成空的,实际上我已经使用被注释掉的代码用 Log 显示了它。