Executereader :-is used with read Method and it will read the query and fill that in a dataset.we use it in datareader.
Execute Scalar:-is used when you want a single output.It is used with Return Value.
ExecuteNonQuery:-This Function is Used When you want to update your query it does not perform any aoperation like:-update,deletion,insert.It is used with Perform Action.