L'exception signifie que vous obtenez un résultat inattendu. La méthode ExecuteNonQuery tente d'exécuter une requête qui ne renvoie aucune ligne et renvoie un entier affichant le nombre de lignes modifiées dans la base de données. Il essaie donc de placer le tableau de résultats dans un champ entier, ce qui n'est pas possible.
Donc, pour répondre à votre question, la cause de l'erreur est la requête. Pour les requêtes de sélection, vous devez utiliser le ExecuteReader()
méthode.