问题纯粹是表格内的内容。如果表不为空(带有一个或多个记录),则应用程序可以正常运行。我正在删除表的内容,并在读取同一个表后立即抛出异常并且app force关闭。
我试图搜索它但无法得出结论。关键点是:索引超出绑定异常,当我要读表时,会在movetofirst()方法的光标处抛出,我想...请帮忙。
public List<TableData> readForPaymentDetais()
{
List<TableData> paymentDetails = new ArrayList<TableData>();
try
{
String selectQuery = "select * from PaymentDetails";
SQLiteDatabase database = this.getWritableDatabase();
Cursor cursor = database.rawQuery(selectQuery, null);
if(cursor.getCount() !=0)
{
if(cursor.moveToFirst())
{
do
{
TableData data = new TableData();
data.setPaymentMade(Float.valueOf(cursor.getString(0).toString()));
data.setDateOfPayment(cursor.getString(1));
paymentDetails.add(data);
}
while(cursor.moveToNext());
}
}
return paymentDetails;
}
catch(Exception exc)
{
return null;
}
}
答案 0 :(得分:0)
在执行moveToFirst游标方法之前,请检查游标是否为空。为此,您可以使用以下代码:
$check = Registration::join('student', 'student.id' ,'=' , 'registration.student_id')
->join('division', 'division.id' ,'=' , 'student.division_id')
->where('student.id' , $registerID->student_id)
->whereIn('student.division_id',[$div->id])->get();
如果光标不为空,请把你的东西放在其他部分。