Мой Cursor.moveToFirst всегда возвращает false - PullRequest
0 голосов
/ 29 июня 2018

Я делаю выборку в моей базе данных, а cursor.moveToFirst всегда возвращает false, Я уже искал ответ и ничего. Это моя функция базы данных

public List<Obra> buscarListaMapa(String tipoGeoReferenciamentoFiltro, String idJurisdicionadoFiltro) {
        SQLiteDatabase db = helper.getReadableDatabase();

        Cursor cursor = db.rawQuery("SELECT * FROM " + BancoDadosHelper.TABELA_OBRA + " WHERE "+ BancoDadosHelper.COLUNA_ID_TIPO_GEOREFENCIAMENTO + " = '"+tipoGeoReferenciamentoFiltro+"' and "+
                BancoDadosHelper.COLUNA_ID_JURISDICIONADO+" = '"+idJurisdicionadoFiltro+"'", null);


        List<Obra> listaMapa = new ArrayList<>();

        if (cursor.moveToFirst()) {
            do {
                String numObra = cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_NUM_OBRA));
                String descObra = cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_DESCRICAO_OBRA));
                String geoReferenciamento = cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_GEOREFERENCIAMENTO));
                String tipoObra = cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_TIPO_OBRA));
                Obra novaObra = new Obra(numObra, descObra, tipoObra, geoReferenciamento);
                listaMapa.add(novaObra);

            } while (cursor.moveToNext());
        }

        cursor.close();
        db.close();
        return listaMapa;
    }

и когда я сделал такой же выбор в базе данных WORKBENCH, и мои результаты были

Результаты Workbench делают тот же выбор

enter image description here

1 Ответ

0 голосов
/ 29 июня 2018

Добавить нулевую проверку состояния для курсора, чтобы обеспечить наличие у вашего курсора данных.

 if(cursor!=null{
 cursor.moveToFirst();
            do {
                String numObra = 
 cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_NUM_OBRA));
                String descObra = 
 cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_DESCRICAO_OBRA));
                String geoReferenciamento = 
 cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_GEOREFERENCIAMENTO 
 ));
                String tipoObra = 
 cursor.getString(cursor.getColumnIndex(BancoDadosHelper.COLUNA_TIPO_OBRA));
                Obra novaObra = new Obra(numObra, descObra, tipoObra, 
 geoReferenciamento);
                listaMapa.add(novaObra);

            } while (cursor.moveToNext());


 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...