Dzieje się tak, ponieważ ExecuteNonQuery
nie zwraca wyniku zapytania, po prostu wykonuje je na serwerze SQL. Zwracana wartość to liczba wierszy, których dotyczy instrukcja, -1, gdy instrukcja nie wpływa na żadne wiersze. WykonajNonQuery
(jak sama nazwa wskazuje) nie jest przeznaczony do zwracania wyników zapytania, ale raczej do uruchamiania instrukcji zmieniających dane (takich jak INSERT, DELETE, UPDATE). Stan dokumentów:
Możesz użyć:
count = (int)command.ExecuteScalar();
Aby uzyskać liczbę, której szukasz. Istnieje również przykład w dokumentacji dla ExecuteScalar
.