A exceção significa que você está obtendo um resultado inesperado. O método ExecuteNonQuery tenta executar uma consulta que não retorna nenhuma linha, e retorna um inteiro exibindo a quantidade de linhas editadas no banco de dados. Portanto, está tentando colocar a matriz de resultados em um campo inteiro, o que não é possível.
Então, para responder à sua pergunta, a causa do erro é a consulta. Para consultas selecionadas, você deve usar o
ExecuteReader()
método.