安卓 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不到值,参数没变。大佬帮忙看看

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