Ogni volta che si desidera eseguire un'istruzione SQL che non dovrebbe restituire un valore o un set di record, l'ExecuteNonQuery dovrebbe essere usato.
Quindi, se si desidera eseguire un aggiornamento, eliminare o inserire un'istruzione, è necessario utilizzare ExecuteNonQuery. ExecuteNonQuery restituisce il numero di righe interessate dall'istruzione. Sembra molto bello, ma ogni volta che si utilizza SQL Server 2005 IDE o Visual Studio per creare una stored procedure, viene aggiunta una piccola riga che rovina tutto.
Tale riga è: SET NOCOUNT ON; Questa riga attiva la funzionalità NOCOUNT di SQL Server, che "Ferma il messaggio che indica il numero di righe interessate da un'istruzione Transact-SQL da restituire come parte dei risultati" e pertanto rende sempre la procedura memorizzata restituire -1 quando chiamato dall'applicazione (nel mio caso un'applicazione web).
In conclusione, rimuovere tale riga dalla stored procedure e verrà visualizzato un valore che indica il numero di righe interessate dall'istruzione.
Buona programmazione!
http://aspsoft.blogs.com/jonas/2006/10/executenonquery.html
fonte
2011-04-08 19:32:51
Qual è il valore restituito, se si esegue una procedura memorizzata che inserirà o aggiornerà o eliminerà un record in un Tavolo, – Raghuveer