Se você deseja retornar apenas um valor de uma consulta, ExecuteScalar é o que você deve usar, . O ExecuteReader é melhor para somente encaminhamento lê de vários registros, por isso é um exagero para sua situação
Dê uma olhada aqui para uma comparação Qual é a diferença entre ExecuteScalar, ExecuteReader e ExecuteNonQuery?