What is difference between ExecuteReader, ExecuteNonQuery and ExecuteScalar ?
ExecuteReader : Use for accessing data. It provides a forward-only,read-only,connected recordset.
ExecuteNonQuery : Use for data manipulation, such as Insert, Update, Delete.
ExecuteScalar : Use for retrieving 1 row 1 col. value., i.e. Single value. eg: for retrieving aggregate function. It is faster than other ways of retrieving a single value from Database.