2
respostas

Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.

Olá, Tenho uma dúvida quanto ao erro na inicialização da aplicação. Poderiam me sugerir uma linha de pesquisa? Grato RN

 public List<Aluno> buscaAlunos() {

        String sql = "SELECT * FROM Alunos;";
        SQLiteDatabase sqLiteDatabase = getReadableDatabase();
        Cursor c = sqLiteDatabase.rawQuery(sql, null);

        List<Aluno> alunos = new ArrayList<Aluno>();

        while (c.moveToNext()) {
            Aluno aluno = new Aluno();
            aluno.setId(c.getLong(c.getColumnIndex("Id")));
            aluno.setNome(c.getString(c.getColumnIndex("nome")));
            aluno.setEndereco(c.getString(c.getColumnIndex("endereco")));
            aluno.setTelefone(c.getString(c.getColumnIndex("telefone")));
            aluno.setSite(c.getString(c.getColumnIndex("site")));
            aluno.setNota(c.getDouble(c.getColumnIndex("nota")));
            alunos.add(aluno);
        }

        c.close();
        return alunos;
    }
2 respostas

Olá Regis,

Dá uma verificada se o nome das colunas da sua tabela que você definiu no método onCreate estão batendo exatamente com os nomes das colunas nas chamadas ao método getColumnIndex.

Por exemplo, no código acima a coluna de id está com o nome de Id (com a primeira letra em maiúscula) e talvez você tenha definido como id (com letra minúscula) quando você criou a tabela.

@Jeferson, Exatamente isso ! Case sensitive .. Funcionou Obrigado

Regis