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

Count em AlunoDAO.ehAluno()

Olá...

O SQLiteDatabase permite fazer a contagem diretamente no BD, tipo... "SELECT COUNT (DISTINCT telefone) FROM Alunos WHERE telefone=?" ou coisa parecida ou ele precisa primeiro retornar o cursor com os dados e somente então a contagem pode ser feita?

3 respostas

Oi Clayton, ele é um banco de dados que suporta as operações mais comuns. Pode mandar bala no seu count :).

solução!

Quando você fizer um SELECT COUNT... ainda assim um Cursor será devolvido. No entanto, esse Cursor já possuirá a resposta do COUNT, que pode ser recuperada assim:

cursor.moveToFirst();
cursor.getInt(0);

Outra forma é fazer apenas um SELECT coluna FROM tabela e, no Cursor devolvido, chamar o método getCount, que devolverá a quantidade de linhas devolvidas pelo Cursor:

cursor.moveToFirst();
cursor.getCount();

Eu prefiro a primeira forma, pois o COUNT já é feito usando a própria infraestrutura do banco.

Muito obrigado Alberto e Felipe!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software