Wyjątek oznacza, że otrzymujesz nieoczekiwany wynik. Metoda ExecuteNonQuery próbuje wykonać zapytanie, które nie zwraca żadnych wierszy i zwraca liczbę całkowitą wyświetlającą liczbę wierszy edytowanych w bazie danych. Próbuje więc umieścić tablicę wyników w polu całkowitym, co nie jest możliwe.
Aby odpowiedzieć na twoje pytanie, przyczyną błędu jest zapytanie. W przypadku zapytań wybierających należy użyć ExecuteReader()
metoda.