Il ExecuteNonQuery Method
restituisce il numero di righe interessate da un INSERT
, un UPDATE
o un DELETE
. Questo metodo deve essere utilizzato per eseguire istruzioni DML (linguaggio di manipolazione dei dati) come indicato in precedenza.
Il ExecuteReader Method
restituirà il set di risultati di un SELECT
. Questo metodo deve essere utilizzato quando esegui query per una serie di risultati, come righe da una tabella, vista, qualunque cosa.
Il ExecuteScalar Method
restituirà un singolo valore nella prima riga, prima colonna da un SELECT
dichiarazione. Questo metodo deve essere utilizzato quando si prevede che venga restituito un solo valore dalla query.
In breve, è normale che tu non abbia risultati da un SELECT
istruzione durante l'utilizzo di ExecuteNonQuery metodo. Usa EseguiReader invece. Usando il ExecuteReader
metodo, saprà quante righe sono state restituite tramite l'istanza di SqlDataReader
oggetto restituito.
int rows = 0;
if (reader.HasRows)
while (reader.Read())
rows++;
return rows; // Returns the number of rows read from the reader.