Cursor Value Error While Working With Cursor

17 views Asked by At

I'm working with Fragment and Im trying to load my data in recyclerview and for that I have created a LoodRoomData method in which I have coded for getting my data , but the problem is while making it possible I'm getting an error which I have described within an image.

enter image description here

I have provided Fragmenthome loadroomdata method, model class for room , database code of creating room table along with sqlite database class loadroom data method

//Method for fetching data 
private void LoadRoomData()
    {
        Cursor cursor= dbHelper_room_visitor.GetRoomData();
        roomItems.clear();
        while (cursor.moveToNext())
        {
            int idd =cursor.getInt(cursor.getColumnIndex(DBHelper_ROOM_VISITOR.ROOM_ID));
            String ro_number=cursor.getString(cursor.getColumnIndex(DBHelper_ROOM_VISITOR.ROOM_NUMBER_KEY));
            String ow_name= cursor.getString(cursor.getColumnIndex(DBHelper_ROOM_VISITOR.ROOM_OWNER_NAME_KEY));
            roomItems.add(new RoomItem(idd,ro_number,ow_name));
        }
     
//ROOM_TABLE

    private static final String ROOM_TABLE_NAME = "ROOM_TABLE";

    public static final String ROOM_ID = "_RID";

    public static final String ROOM_NUMBER_KEY ="ROOM_NUMBER";

    public static final String ROOM_OWNER_NAME_KEY = "ROOM_OWNER_NAME";

    private static final String CREATE_ROOM_TABLE =

            "CREATE TABLE " +ROOM_TABLE_NAME +"("+

                    ROOM_ID+ "INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"+

                    ROOM_NUMBER_KEY + "TEXT NOT NULL,"+

                    ROOM_OWNER_NAME_KEY + "TEXT NOT NULL,"+

                    "UNIQUE (" + ROOM_NUMBER_KEY + "," + ROOM_OWNER_NAME_KEY + ")" +

                    ");";

    private static final String DROP_ROOM_TABLE ="DROP TABLE IF EXISTS "+ ROOM_TABLE_NAME;

    private static final String SELECT_ROOM_TABLE ="SELEC> T> FROM "+ ROOM_TABLE_NAME;
//Sqlite method for fetching 

//LOAD_ROOM_DATA

    Cursor GetRoomData()

    {

        SQLiteDatabase database=this.getReadableDatabase();

        return database.rawQuery(SELECT_ROOM_TABLE,null);

    }
//Model class 
public class RoomItem extends AppCompatActivity{

    public RoomItem(String classname, String subjectname)

    {

        this.classname = classname;

        this.subjectname = subjectname;

    }

    public RoomItem(long cid, String classname, String subjectname)

    {

        this.cid=cid;

        this.classname = classname;

        this.subjectname = subjectname;

    }

    private long cid;

    public long getCid()

    {

        return cid;

    }

    public void setCid(int cid)

    {

        this.cid = cid;

    }

   private String classname;

    public String getClassname()

    {

        return classname;

    }

    public void setClassname(String classname)

    {

        this.classname = classname;

    }

    private String subjectname;

    public String getSubjectname()

    {

        return subjectname;

    }

    public void setSubjectname(String subjectname)

    {

        this.subjectname = subjectname;

    }

}

Basically the error is 'Value must be greater equals to 0 but getcolumnindex can be -1'

0

There are 0 answers