一位不愿意透漏姓名的胡英杰先生 2019-01-18 20:56 采纳率: 60%
浏览 1596
已采纳

安卓 sqlite中cursor的问题

安卓 sqlite中cursor的问题


public int sel(String carNum){
db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("recharge",null,"carNumber=?",new String[]{String.valueOf(carNum)},
null,null,null);
db.close();
cursor.close();
if (cursor != null) {
cursor.moveToLast();
int mon1 = cursor.getInt( cursor.getColumnIndex("money") );

            }
    return mon1;
}

    //调用
    int mon = sel(参数);
    这样一点问题没有,mon可以接收到返回的值
    -------------------------------------------------------------------------------------------------------
//  修改了一种办法

     public Cursor sel(String carNum){
    db = dbHelper.getWritableDatabase();
    Cursor cursor = db.query("recharge",null,"carNumber=?",new String[]{String.valueOf(carNum)},
            null,null,null);
    db.close();
    cursor.close();
    return cursor;
}


    //调用
     Cursor  cursor  = dao.sel(参数);
       if (cursor != null) {
          cursor.moveToLast();
          int mon1 = cursor.getInt(  cursor.getColumnIndex("money")  );
          cursor.close();
       }
                //此时 mon1 getInt不到值,参数没变。大佬帮忙看看
  • 写回答

1条回答 默认 最新

  • 关注

    cursor对象关闭早了,以及 db对象也不能关闭

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?