ExecuteReader :- used for DDL queries and return a dataTable.used for SELECT queries and return the result in DataTable.

ExecuteNonQuery:- Used for DML queries and return the no of row affected in integer
Used for Insert, update and delete qeries.

ExecuteScalar:- Used for executing Stored procedures.

thanks
http://yuvadeveloper.blogspot.com