What is difference between ExecuteReader, ExecuteNonQuery and ExecuteScalar


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