Il metodo ExecuteNonQuery esegue statement di UPDATE, INSERT e DELETE, restituendo il numero di record aggiornati, inseriti o eliminati. Nel caso di una SELECT, non si ha nessuno di questi casi.
Per eseguire istruzioni di SELECT, che restituiscono quindi un "resultset", occorre utilizzare ExecuteReader ottenendo un cursore in grado di scandire i record che rispondono alla query dal primo all'ultimo.
Nel caso di un semplice conteggio, è ancora meglio utilizzare il metodo ExecuteScalar, che restituisce il valore del primo campo del primo record dei risultati ottenuti; in questo caso, trattandosi di un solo record formato da un solo campo che è il conteggio dei record selezionati, è perfetto.
La guida MSDN fornisce ulteriori indicazioni.
Ciao!![]()

Rispondi quotando