Исключение инициализации курсора базы данных SQLite - PullRequest
0 голосов
/ 21 ноября 2018

Когда я пытаюсь получить данные из таблицы базы данных SQLite, я получаю следующее исключение:

Убедитесь, что курсор инициализирован правильно, прежде чем получить доступ к данным из него.

String selectQuery = "SELECT  * FROM " + NoteModel.TABLE_NAME + " ORDER BY " +
                NoteModel.COLUMN_NAME + " DESC";

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);



        // looping through all rows and adding to list
        if ( cursor.moveToFirst()) {
            do {
                NoteModel note = new NoteModel();
                note.setId(cursor.getInt(cursor.getColumnIndex(NoteModel.COLUMN_ID)));
                note.setName(cursor.getString(cursor.getColumnIndex(NoteModel.COLUMN_NAME)));
                note.setSurName(cursor.getString(cursor.getColumnIndex(NoteModel.COLUMN_SURNAME)));
                note.setMobile(cursor.getString(cursor.getColumnIndex(NoteModel.COLUMN_MOBILE)));

                notes.add(note);
            } while (cursor.moveToNext());
        }

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 21 ноября 2018

Попробуйте следующим образом .. getReadableDatabase ();

public List<MyTableTwo> getMyItems() {
    List<MyTableTwo> mySuperList = new ArrayList<>();
    SQLiteDatabase db = this.getReadableDatabase();
    String selectQuery = "SELECT  * FROM " + USER_TABLE_NAME;
    Cursor c = db.rawQuery(selectQuery, null);
    if (c != null) {
        c.moveToFirst();
        while (c.isAfterLast() == false) {
            MyTableTwo myTable = new MyTableTwo();
            myTable.itemName = (c.getString(c.getColumnIndex("Item_Name")));
            myTable.weight = (c.getString(c.getColumnIndex("Weight")));
            myTable.mrp = (c.getString(c.getColumnIndex("MRP")));
            myTable.barcod = (c.getString(c.getColumnIndex("BARCODE")));

            mySuperList.add(myTable);
            c.moveToNext();
        }
    }
    return mySuperList;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...