Make sure the Cursor is initialized correctly before accessing data from it

后端 未结 7 484
死守一世寂寞
死守一世寂寞 2020-12-06 15:17

Im trying to get data from my DB.

This is my code:

String[] columns = new String[] {COLUMN_FACEBOOK_ALBUM_COVER, COLUMN_FACEBOOK_ALBUM_IS_ACTIVE};

          


        
7条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-06 15:47

    Initialize cursors in database transaction.

    Cursor cAlbum = null, cImage = null;
    db.beginTransaction();
    try {
        // init cursors
        cAlbum = db.query(...);
        cImage = db.query(...);
    } catch(SQLException e) {
        e.printStackTrace();
    } finally {
        db.endTransaction();
    }
    

    Check if cursors are not null.

    if(cAlbum != null && cImage != null) {
        while(cAlbum.moveToNext()) {
            // get data from cAlbum and do what you need
        }
        while(cImage.moveToNext()) {
            // get data from cImage and do what you need
        }
    
        cAlbum.close();
        cImage.close();
    }
    

提交回复
热议问题