Questo perché ExecuteNonQuery
non restituisce il risultato della query, lo esegue semplicemente sul server SQL. Il valore restituito è il numero di righe interessate dall'istruzione, -1 quando l'istruzione non influisce su alcuna riga. ExecuteNonQuery
(come suggerisce il nome) non è inteso per restituire risultati di query, ma piuttosto per eseguire un'istruzione che modifica i dati (come INSERT, DELETE, UPDATE). I documenti affermano:
Potresti usare:
count = (int)command.ExecuteScalar();
Per ottenere il conteggio che stai cercando. C'è anche un esempio nei documenti per ExecuteScalar
.