ExecuteNonQuery: Use this operation to execute any arbitrary SQL statements in SQL Server
if you do not want any result set to be returned.
You can use this operation to create database objects or change data in a database by executing UPDATE, INSERT, or DELETE statements. The return value of this operation is of Int32 data type, and:
For the
UPDATE, INSERT, and DELETE
statements,
the return value is the number of rows affected by the SQL statement.
For all other types of statements, the return value is -1.
ExecuteReader: Use this operation to execute any arbitrary SQL statements in SQL Server
if you want the result set to be returned, if any, as an array of DataSet.
For information about DataSet, see “DataSet Class” at
http://go.microsoft.com/fwlink/?LinkId=119631.[
^]
(e.g., SELECT col1, col2 from sometable).
ExecuteScalar: Use this operation to execute any arbitrary SQL statements in SQL Server
to return a single value.
This operation
returns the value only in the first column of the first row in the result set
returned by the SQL statement.
An example might be
SELECT @@IDENTITY AS 'Identity'.
Refer similar thread:
What is the difference between Execute Scalar , Execute Reader and ExecuteNonQuery[
^]
What is the difference between ExecuteNonQuery, ExecuteReader, and ExecuteScalar?[
^]
MSDN:
http://msdn.microsoft.com/en-us/library/dd787963(v=bts.10).aspx[
^]
http://msdn.microsoft.com/en-us/library/dd788418(v=bts.10).aspx[
^]