Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Infelizamente a agenda parou

Bom dia. Estou com um problema no exercício. Quando a linha "db.execSQL(sql);" do método buscaAlunos() é executada, a minha agenda para. Poderia, por favor, me ajudar?

    public List<Aluno> buscaAlunos() {
        String sql = "SELECT * FROM Alunos;";
        SQLiteDatabase db = getReadableDatabase();
        db.execSQL(sql);
3 respostas
solução!

Fala ai Willian, tudo bem?

Veja que sua classe está um pouco diferente, em vez de utilizar o 'execSQL' você deveria umsar o 'rawQuery' que irã devolver um Cursor que você possa interá-lo e criar a lista de Alunos.

Segue código completo:

public List<Aluno> buscaAlunos()  {
    String sql = "SELECT * FROM Alunos;";
    SQLiteDataBase db = getReadableDatabase();
    Cursor c = db.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;

    }

Espero ter ajudado

Verdade. Obrigado!!

De nada, sempre que precisar, não deixe de criar suas dúvidas \o/

Abraçooos