Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

ExecuteNonQuery per l'istruzione SELECT sql che non restituisce righe

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.