To date, the three most common execution commands used are ExecuteReader, ExecuteScalar, and ExecuteNonQuery.
ExecuteReader can be used to retrieve a considerable quantity of data from the database. As its name implies, it is used to read the database by rows. Though ExecuteReader can return a single value, ExecuteReader may not be the best choice to retrieve a single value. From the SQL Server Management Studio (SSMS) query window, the reader will display the information in a table. When using Visual Studio Visual Basic (VB), my method is to read the database table(s) in a loop and add the pulled data into datasets, comboboxes, or collections.
ExecuteScalar is a good choice to retrieve a single value. Though the command statement could contain a number of columns, the execution returns only the first column, according to internet references. I have not tested this assertion but hold it as valid.
ExecuteNonQuery is a good choice to update one or more SQL database records of one or more columns or can be used to delete one or more records from the database.
The following SQL database table diagram will be referenced for data access.